From aee6ab78ee26e3289451cb0d93b1c90d96678a37 Mon Sep 17 00:00:00 2001 From: Kai Sellmann Date: Thu, 2 Nov 2023 07:37:41 +0100 Subject: [PATCH 1/2] =?UTF-8?q?getObersteKarte()=20und=20'kartenz=C3=A4hle?= =?UTF-8?q?n'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Domain/Kartenstapel.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Domain/Kartenstapel.java b/Domain/Kartenstapel.java index a99684f..332e5fc 100644 --- a/Domain/Kartenstapel.java +++ b/Domain/Kartenstapel.java @@ -130,12 +130,13 @@ public class Kartenstapel { * Methode getObersteKarte(): Hier wird der Reihe nach die jeweils oberste Karte * 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, - * 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() { - Object k = kartengemischt.values().toArray()[0]; - kartengemischt.remove(k); - return k; + Object k = kartengemischt.values().toArray()[0]; + kartengemischt.remove(k); + return k; } -- 2.43.0 From b5464a1c7998c5e950b3b561bdf3514a92464832 Mon Sep 17 00:00:00 2001 From: Kai Sellmann Date: Thu, 2 Nov 2023 12:06:20 +0100 Subject: [PATCH 2/2] Exception leerer Kartenstapel Spiel(nur Rechtschreibung) --- Domain/Exceptions/EmptyKartensortiertException.java | 8 ++++++++ Domain/Kartenstapel.java | 13 ++++++++++--- Facade/Spiel.java | 2 +- 3 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 Domain/Exceptions/EmptyKartensortiertException.java 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"); } -- 2.43.0