diff --git a/Domain/Exceptions/EmptyKartensortiertException.java b/Domain/Exceptions/EmptyKartensortiertException.java new file mode 100644 index 0000000..9230a03 --- /dev/null +++ b/Domain/Exceptions/EmptyKartensortiertException.java @@ -0,0 +1,8 @@ +package Domain.Exceptions; + +public class EmptyKartensortiertException extends SpielException { + + public EmptyKartensortiertException(String message) { + super(2, message); + } +} diff --git a/Domain/Kartenstapel.java b/Domain/Kartenstapel.java index 332e5fc..336d0b0 100644 --- a/Domain/Kartenstapel.java +++ b/Domain/Kartenstapel.java @@ -12,6 +12,8 @@ import java.util.List; import java.util.Random; import java.util.HashMap; import Domain.Enums.Kartenfarbe; +import Domain.Exceptions.EmptyKartensortiertException; +import Domain.Exceptions.SpielException; import Domain.Karten.*; @@ -20,7 +22,7 @@ public class Kartenstapel { // Statische Konstanten // Statische Attribute - private static int kartenzählen = 1; + // Attribute der Objekte /** @@ -108,7 +110,7 @@ public class Kartenstapel { * durch die @code Random 'zufall' befüllt. * */ - public void mischen() { + public void mischen() throws EmptyKartensortiertException { ArrayList zahlen = new ArrayList<>(); for (int i = 1; i <= 60; i++) { zahlen.add(i); @@ -117,8 +119,13 @@ public class Kartenstapel { for (int i = 0; i < 60; i++) { int index = zufall.nextInt(zahlen.size()); 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); + } for(Karte k : kartengemischt.values()) { diff --git a/Facade/Spiel.java b/Facade/Spiel.java index 70a8e31..649e878 100644 --- a/Facade/Spiel.java +++ b/Facade/Spiel.java @@ -144,7 +144,7 @@ public class Spiel implements Serializable { } else if (!this.spieler.containsKey(id_spieler)) { throw new SpielerNotFoundException("Dieser Spieler existiert nicht"); } else if (this.spieler.values().size() == 0) { - throw new EmptyListException("Dise Liste ist Leer."); + throw new EmptyListException("Diese Liste ist Leer."); } else { throw new RuntimeException("Unkown Error"); }