TUI verschönert und kleinere Fehler korrigiert.

refactoringFassade
hummel 2024-05-14 14:49:26 +02:00
parent 6e48020484
commit fead586452
5 changed files with 49 additions and 29 deletions

View File

@ -12,26 +12,32 @@ public class Gewinnkarte {
}
}
public boolean punkteEintragen(int kategorie, Würfel[] würfel) {
if (!kategorien[kategorie].isOffen())
return false;
kategorien[kategorie].punkteEintragen(würfel);
return true;
}
public String toString() {
StringBuilder sb = new StringBuilder();
int i = 1;
for (Kategorie k : kategorien) {
sb.append(k.getName() + ": ");
sb.append(String.format("%2d. %s: ", i++, k.getName()));
if (k.isOffen())
sb.append("offen");
else
sb.append(k.getPunkte());
if (i <= kategorien.length)
sb.append(System.lineSeparator());
}
return sb.toString();
}
public void punkteEintragen(int kategorie, Würfel[] würfel) {
kategorien[kategorie].punkteEintragen(würfel);
}
}

View File

@ -39,8 +39,8 @@ public class Spiel {
return becher.getWürfelwerte();
}
public void punkteEintragen(int kategorie) {
spieler[aktuellerSpieler].getGewinnkarte().punkteEintragen(kategorie - 1, becher.getWürfel());
public boolean punkteEintragen(int kategorie) {
return spieler[aktuellerSpieler].getGewinnkarte().punkteEintragen(kategorie - 1, becher.getWürfel());
}
}

View File

@ -26,7 +26,7 @@ public class KniffelApi {
return spiel.wurfDurchführen(würfel);
}
public void punkteEintragen(int kategorie) {
spiel.punkteEintragen(kategorie);
public boolean punkteEintragen(int kategorie) {
return spiel.punkteEintragen(kategorie);
}
}

View File

@ -35,7 +35,8 @@ public class SpielStart {
return;
}
System.out.println(spielernamen.size() + " Mitspieler eingeben.");
System.out.println(spielernamen.size() + " Mitspieler eingegeben.");
System.out.println();
System.out.print("Möchten Sie den StarWars-Modus spielen? (j/n): ");
String sw = kb.nextLine();

View File

@ -14,8 +14,7 @@ public class SpielrundeSpielen {
}
public void verarbeiteEingabe() {
System.out.println("Gewinnkarte von " + api.getNameAktuellerSpieler());
System.out.println(api.getGewinnkarte().toString());
gewinnkarteAusgeben();
String[] zuWürfeln = new String[0];
@ -33,8 +32,8 @@ public class SpielrundeSpielen {
break;
System.out.println("Welche Würfel sollen noch einmal geworfen werden? ");
System.out.println("Nr. des/der Würfel durch Leerzeichen getrennt eingeben.");
System.out.println("Leere Eingabe, um gar nicht mehr zu würfeln.");
System.out.println("Nr. des/der zu werfenden Würfel(s) durch Leerzeichen getrennt eingeben.");
System.out.println("Eine leere Eingabe, beendet das Würfeln.");
System.out.print("Eingabe: ");
String eingabe = kb.nextLine();
@ -44,14 +43,28 @@ public class SpielrundeSpielen {
zuWürfeln = eingabe.split(" ");
}
System.out.println("In welcher Kategorie sollen die Punkte eingetragen werden?");
System.out.print("> ");
gewinnkarteAusgeben();
System.out.println("In welcher Kategorie sollen die Punkte eingetragen werden?");
do {
System.out.print("> ");
int kategorie= Integer.parseInt(kb.nextLine());
api.punkteEintragen(kategorie);
if (!api.punkteEintragen(kategorie))
System.out.println("Kategorie bereits belegt, bitte andere wählen.");
else
break;
} while(false);
gewinnkarteAusgeben();
}
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("##################################################");
System.out.println();
}
}