From 95297fd480cfdb6c777c91d397e331d81f87a9bf Mon Sep 17 00:00:00 2001 From: hummel Date: Thu, 16 May 2024 11:02:10 +0200 Subject: [PATCH] =?UTF-8?q?Refactoring:=20Verschlankung=20der=20Fassade=20?= =?UTF-8?q?durchgef=C3=BChrt.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../games/kniffel/domain/Spiel.java | 8 +++--- .../games/kniffel/facade/KniffelApi.java | 26 +++---------------- .../games/kniffel/tui/SpielStart.java | 6 +++-- .../games/kniffel/tui/SpielrundeSpielen.java | 16 ++++++------ 4 files changed, 20 insertions(+), 36 deletions(-) diff --git a/MyKniffel/src/de/hs_mannheim/informatik/games/kniffel/domain/Spiel.java b/MyKniffel/src/de/hs_mannheim/informatik/games/kniffel/domain/Spiel.java index a17a242..ec5965e 100644 --- a/MyKniffel/src/de/hs_mannheim/informatik/games/kniffel/domain/Spiel.java +++ b/MyKniffel/src/de/hs_mannheim/informatik/games/kniffel/domain/Spiel.java @@ -1,6 +1,6 @@ package de.hs_mannheim.informatik.games.kniffel.domain; -import java.util.ArrayList; +import java.util.List; public class Spiel { private Spieler[] spieler; @@ -8,7 +8,7 @@ public class Spiel { private int aktuellerSpieler; private Würfelbecher becher; - public Spiel(ArrayList spielernamen) { + public Spiel(List spielernamen) { spieleranzahl = spielernamen.size(); spieler = new Spieler[spieleranzahl]; @@ -22,8 +22,8 @@ public class Spiel { becher.würfle(); } - public Gewinnkarte getGewinnkarteAktuellerSpieler() { - return spieler[aktuellerSpieler].getGewinnkarte(); + public String getGewinnkartentextAktuellerSpieler() { + return spieler[aktuellerSpieler].getGewinnkarte().toString(); } public String getNameAktuellerSpieler() { diff --git a/MyKniffel/src/de/hs_mannheim/informatik/games/kniffel/facade/KniffelApi.java b/MyKniffel/src/de/hs_mannheim/informatik/games/kniffel/facade/KniffelApi.java index 8b3be7e..7c7ef76 100644 --- a/MyKniffel/src/de/hs_mannheim/informatik/games/kniffel/facade/KniffelApi.java +++ b/MyKniffel/src/de/hs_mannheim/informatik/games/kniffel/facade/KniffelApi.java @@ -1,32 +1,14 @@ package de.hs_mannheim.informatik.games.kniffel.facade; -import java.util.ArrayList; +import java.util.List; -import de.hs_mannheim.informatik.games.kniffel.domain.Gewinnkarte; import de.hs_mannheim.informatik.games.kniffel.domain.Spiel; public class KniffelApi { - private Spiel spiel; - - public void starteSpiel(ArrayList spielernamen, boolean starWarsModus) { - + + public Spiel starteSpiel(List spielernamen, boolean starWarsModus) { // TODO: StarWars über Vererbung einbauen? - spiel = new Spiel(spielernamen); + return new Spiel(spielernamen); } - public Gewinnkarte getGewinnkarte() { - return spiel.getGewinnkarteAktuellerSpieler(); - } - - public String getNameAktuellerSpieler() { - return spiel.getNameAktuellerSpieler(); - } - - public int[] wurfDurchführen(String... würfel) { - return spiel.wurfDurchführen(würfel); - } - - public boolean punkteEintragen(int kategorie) { - return spiel.punkteEintragen(kategorie); - } } diff --git a/MyKniffel/src/de/hs_mannheim/informatik/games/kniffel/tui/SpielStart.java b/MyKniffel/src/de/hs_mannheim/informatik/games/kniffel/tui/SpielStart.java index 17a1aea..e004e6d 100644 --- a/MyKniffel/src/de/hs_mannheim/informatik/games/kniffel/tui/SpielStart.java +++ b/MyKniffel/src/de/hs_mannheim/informatik/games/kniffel/tui/SpielStart.java @@ -3,11 +3,13 @@ package de.hs_mannheim.informatik.games.kniffel.tui; import java.util.ArrayList; import java.util.Scanner; +import de.hs_mannheim.informatik.games.kniffel.domain.Spiel; import de.hs_mannheim.informatik.games.kniffel.facade.KniffelApi; public class SpielStart { private Scanner kb; private KniffelApi api; + private Spiel spiel; public SpielStart(Scanner kb, KniffelApi api) { this.kb = kb; @@ -41,9 +43,9 @@ public class SpielStart { String sw = kb.nextLine(); - api.starteSpiel(spielernamen, sw.toLowerCase().equals("j")); + spiel = api.starteSpiel(spielernamen, sw.toLowerCase().equals("j")); - new SpielrundeSpielen(kb, api).verarbeiteEingabe(); + new SpielrundeSpielen(kb, spiel).verarbeiteEingabe(); } } diff --git a/MyKniffel/src/de/hs_mannheim/informatik/games/kniffel/tui/SpielrundeSpielen.java b/MyKniffel/src/de/hs_mannheim/informatik/games/kniffel/tui/SpielrundeSpielen.java index fc5d24a..81cba4a 100644 --- a/MyKniffel/src/de/hs_mannheim/informatik/games/kniffel/tui/SpielrundeSpielen.java +++ b/MyKniffel/src/de/hs_mannheim/informatik/games/kniffel/tui/SpielrundeSpielen.java @@ -2,15 +2,15 @@ package de.hs_mannheim.informatik.games.kniffel.tui; import java.util.Scanner; -import de.hs_mannheim.informatik.games.kniffel.facade.KniffelApi; +import de.hs_mannheim.informatik.games.kniffel.domain.Spiel; public class SpielrundeSpielen { private Scanner kb; - private KniffelApi api; + private Spiel spiel; - public SpielrundeSpielen(Scanner kb, KniffelApi api) { + public SpielrundeSpielen(Scanner kb, Spiel spiel) { this.kb = kb; - this.api = api; + this.spiel = spiel; } public void verarbeiteEingabe() { @@ -19,7 +19,7 @@ public class SpielrundeSpielen { String[] zuWürfeln = new String[0]; for (int i = 1; i <= 3; i++) { - int[] würfelwerte = api.wurfDurchführen(zuWürfeln); + int[] würfelwerte = this.spiel.wurfDurchführen(zuWürfeln); System.out.print(i + ". Wurf: "); for (int w : würfelwerte) { System.out.print(w + " "); @@ -50,7 +50,7 @@ public class SpielrundeSpielen { System.out.print("> "); int kategorie= Integer.parseInt(kb.nextLine()); - if (!api.punkteEintragen(kategorie)) + if (!this.spiel.punkteEintragen(kategorie)) System.out.println("Kategorie bereits belegt, bitte andere wählen."); else break; @@ -62,8 +62,8 @@ public class SpielrundeSpielen { private void gewinnkarteAusgeben() { System.out.println(); System.out.println("##################################################"); - System.out.println("Gewinnkarte von " + api.getNameAktuellerSpieler()); - System.out.println(api.getGewinnkarte().toString()); + System.out.println("Gewinnkarte von " + this.spiel.getNameAktuellerSpieler()); + System.out.println(this.spiel.getGewinnkartentextAktuellerSpieler()); System.out.println("##################################################"); System.out.println(); }