Compare commits
2 Commits
Author | SHA1 | Date |
---|---|---|
Kai Sellmann | b5464a1c79 | |
Kai Sellmann | aee6ab78ee |
|
@ -0,0 +1,8 @@
|
||||||
|
package Domain.Exceptions;
|
||||||
|
|
||||||
|
public class EmptyKartensortiertException extends SpielException {
|
||||||
|
|
||||||
|
public EmptyKartensortiertException(String message) {
|
||||||
|
super(2, message);
|
||||||
|
}
|
||||||
|
}
|
|
@ -12,6 +12,8 @@ import java.util.List;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import Domain.Enums.Kartenfarbe;
|
import Domain.Enums.Kartenfarbe;
|
||||||
|
import Domain.Exceptions.EmptyKartensortiertException;
|
||||||
|
import Domain.Exceptions.SpielException;
|
||||||
import Domain.Karten.*;
|
import Domain.Karten.*;
|
||||||
|
|
||||||
|
|
||||||
|
@ -20,7 +22,7 @@ public class Kartenstapel {
|
||||||
// Statische Konstanten
|
// Statische Konstanten
|
||||||
|
|
||||||
// Statische Attribute
|
// Statische Attribute
|
||||||
private static int kartenzählen = 1;
|
|
||||||
// Attribute der Objekte
|
// Attribute der Objekte
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -108,7 +110,7 @@ public class Kartenstapel {
|
||||||
* durch die @code Random 'zufall' befüllt.
|
* durch die @code Random 'zufall' befüllt.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public void mischen() {
|
public void mischen() throws EmptyKartensortiertException {
|
||||||
ArrayList<Integer> zahlen = new ArrayList<>();
|
ArrayList<Integer> zahlen = new ArrayList<>();
|
||||||
for (int i = 1; i <= 60; i++) {
|
for (int i = 1; i <= 60; i++) {
|
||||||
zahlen.add(i);
|
zahlen.add(i);
|
||||||
|
@ -117,8 +119,13 @@ public class Kartenstapel {
|
||||||
for (int i = 0; i < 60; i++) {
|
for (int i = 0; i < 60; i++) {
|
||||||
int index = zufall.nextInt(zahlen.size());
|
int index = zufall.nextInt(zahlen.size());
|
||||||
int schlüsselzahl = zahlen.get(index);
|
int schlüsselzahl = zahlen.get(index);
|
||||||
kartengemischt.put(i + 1, kartensortiert.get(schlüsselzahl));
|
try {
|
||||||
|
kartengemischt.put(i + 1, kartensortiert.get(schlüsselzahl));
|
||||||
|
} catch(Exception e) {
|
||||||
|
new EmptyKartensortiertException("Es wurde versucht ein leerer Kartenstapel zu mischen.");
|
||||||
|
}
|
||||||
zahlen.remove(index);
|
zahlen.remove(index);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for(Karte k : kartengemischt.values()) {
|
for(Karte k : kartengemischt.values()) {
|
||||||
|
@ -130,12 +137,13 @@ public class Kartenstapel {
|
||||||
* Methode getObersteKarte(): Hier wird der Reihe nach die jeweils oberste Karte
|
* Methode getObersteKarte(): Hier wird der Reihe nach die jeweils oberste Karte
|
||||||
* an den Spieler verteilt, bzw. am Ende des Verteilens der Trumpf gezogen,
|
* an den Spieler verteilt, bzw. am Ende des Verteilens der Trumpf gezogen,
|
||||||
* falls noch eine Karte auf dem Stapel liegen sollte. Hierzu wird die Runde,
|
* falls noch eine Karte auf dem Stapel liegen sollte. Hierzu wird die Runde,
|
||||||
* als Ausgangswert genommen.
|
* als Ausgangswert genommen. Die Prüfung ob der return = null ist erfolgt in der
|
||||||
|
* Klasse Spiel, um dann auszusagen, dass es keinen Trumpf gibt
|
||||||
*/
|
*/
|
||||||
public Object getObersteKarte() {
|
public Object getObersteKarte() {
|
||||||
Object k = kartengemischt.values().toArray()[0];
|
Object k = kartengemischt.values().toArray()[0];
|
||||||
kartengemischt.remove(k);
|
kartengemischt.remove(k);
|
||||||
return k;
|
return k;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -144,7 +144,7 @@ public class Spiel implements Serializable {
|
||||||
} else if (!this.spieler.containsKey(id_spieler)) {
|
} else if (!this.spieler.containsKey(id_spieler)) {
|
||||||
throw new SpielerNotFoundException("Dieser Spieler existiert nicht");
|
throw new SpielerNotFoundException("Dieser Spieler existiert nicht");
|
||||||
} else if (this.spieler.values().size() == 0) {
|
} else if (this.spieler.values().size() == 0) {
|
||||||
throw new EmptyListException("Dise Liste ist Leer.");
|
throw new EmptyListException("Diese Liste ist Leer.");
|
||||||
} else {
|
} else {
|
||||||
throw new RuntimeException("Unkown Error");
|
throw new RuntimeException("Unkown Error");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue