Möglickeit zu gewinnen hinzugefügt, GUI aktualisierungen hinzugefügt

This commit is contained in:
Fabian Keller
2021-01-08 08:38:36 +01:00
parent 4e7f7d12bb
commit c3c5b6420d

View File

@@ -26,6 +26,7 @@ public class Spiel {
private boolean zwei_ziehen;
private int kartenZiehen;
private Dashboard_GUI dashboard;
private boolean spielGewonnen;
public Spiel(Dashboard_GUI dashboard_gui) {
audio = new Audio();
@@ -33,6 +34,7 @@ public class Spiel {
computerGegner = new Computer_gegner(kartensatz);
spielzug = new Spielzug(kartensatz);
dashboard = dashboard_gui;
spielGewonnen = false;
}
public boolean getAussetzen() {
@@ -112,6 +114,7 @@ public class Spiel {
* @param dashboard
*/
private void alternieren(Dashboard_GUI dashboard) {
if(spielGewonnen) return;
if(amZug == Spieler.SPIELER) {
amZug = Spieler.COMPUTER;
dashboard.aktualisiereGUI(); //Komplette GUI wird aktualisiert
@@ -134,10 +137,10 @@ public class Spiel {
}
else {
amZug = Spieler.SPIELER;
dashboard.aktualisiereGUI();
System.out.println("\nSPIEL Spieler am Zug");
if(aussetzen) {
System.out.println("\nSPIEL Aussetzen m<>glich");
aussetzen = false;
dashboard.showaussetzen();
dashboard.aktualisiereGUI();
}
@@ -145,7 +148,17 @@ public class Spiel {
}
private void gewinn(Spieler spieler) {
System.out.println("HERZLICHEN GL<47>CKWUNSCH " + amZug + ". DU HAST GEWONNEN");
spielGewonnen = true;
}
/**
* Bietet die M<>glichkeit auszusetzen
*/
public void aussetzen() {
if(spielGewonnen) return;
aussetzen = false;
alternieren(dashboard);
}
@@ -154,27 +167,28 @@ public class Spiel {
* @param kartenindex
*/
public void karteLegen(int kartenindex) {
System.out.println("SPIEL Versuche Karte " + kartenindex + " zu legen");
if(spielzug.zugMoeglich(amZug, zwei_ziehen, aussetzen, kartensatz)) { //m<>gliche Karte auf der Hand
System.out.println("\nSPIEL Legen M<>glich");
if (spielzug.pruefeZug(kartenindex, zwei_ziehen, aussetzen, kartensatz)) { //gew<65>hlte Karte kann gelegt werden
System.out.println("SPIEL pruefeZug positiv");
System.out.println("SPIEL Lege Karte " + kartenindex);
kartensatz.ablegen(kartenindex);
if(kartensatz.getHand(amZug).size() == 1) {
audio.spieleJau();
}
if(kartensatz.getHand(amZug).isEmpty()) {
audio.spieleJauJau();
//Spieler hat gewonnen, keine Karte mehr auf der Hand -- Was passiert?
// Spieler Gewonnen aufrufen, Punkte aktualisieren
// Highscore Page oder Startseite aufrufen
}
System.out.println("SPIEL Kartenhand von COMPUTER: " + kartensatz.getHand(Spieler.COMPUTER));
System.out.println("SPIEL Kartenhand von SPIELER: " + kartensatz.getHand(Spieler.SPIELER));
effekteSetzen();
alternieren(dashboard);
if(spielGewonnen) return;
System.out.println("SPIEL Versuche Karte " + kartenindex + " zu legen");
if (spielzug.pruefeZug(kartenindex, zwei_ziehen, aussetzen, kartensatz)) { //gew<65>hlte Karte kann gelegt werden
System.out.println("SPIEL pruefeZug positiv");
System.out.println("SPIEL Lege Karte " + kartenindex);
kartensatz.ablegen(kartenindex);
if(kartensatz.getHand(amZug).size() == 1) {
audio.spieleJau();
}
if(kartensatz.getHand(amZug).isEmpty()) {
audio.spieleJauJau();
dashboard.aktualisiereGUI();
gewinn(amZug);
return;
//Spieler hat gewonnen, keine Karte mehr auf der Hand -- Was passiert?
// Spieler Gewonnen aufrufen, Punkte aktualisieren
// Highscore Page oder Startseite aufrufen
}
System.out.println("SPIEL Kartenhand von COMPUTER: " + kartensatz.getHand(Spieler.COMPUTER));
System.out.println("SPIEL Kartenhand von SPIELER: " + kartensatz.getHand(Spieler.SPIELER));
effekteSetzen();
alternieren(dashboard);
}
}
@@ -183,6 +197,7 @@ public class Spiel {
* falls eine oder mehrere Karten gezogen werden k<>nnen, wird dies ausgef<65>hrt
*/
public void karteZiehen(){
if(spielGewonnen) return;
if(!aussetzen) {
if(zwei_ziehen) { //mehrere ziehen
System.out.println("\nSPIEL " + kartenZiehen + " Karten gezogen");
@@ -208,6 +223,7 @@ public class Spiel {
* setzt Effekt-Variablen und Wunschfarbe f<>r einen W<>nscher
*/
private void effekteSetzen() {
if(spielGewonnen) return;
gelegterWert = kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT();
if(gelegterWert == Wert.ACHT) {
aussetzen = true;
@@ -221,7 +237,7 @@ public class Spiel {
kartensatz.SetWunschfarbe(computerGegner.farbeAussuchen(kartensatz));
}
else {
dashboard.showwunsch();
dashboard.showwunsch(); //Returnwert!
}
}
System.out.println("\nSPIEL Effekte gesetzt:\nSPIEL Aussetzen: " + aussetzen + "\nSPIEL Zwei_Ziehen: " + zwei_ziehen + "\nSPIEL Anzahl: " + kartenZiehen);