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 boolean zwei_ziehen;
private int kartenZiehen; private int kartenZiehen;
private Dashboard_GUI dashboard; private Dashboard_GUI dashboard;
private boolean spielGewonnen;
public Spiel(Dashboard_GUI dashboard_gui) { public Spiel(Dashboard_GUI dashboard_gui) {
audio = new Audio(); audio = new Audio();
@@ -33,6 +34,7 @@ public class Spiel {
computerGegner = new Computer_gegner(kartensatz); computerGegner = new Computer_gegner(kartensatz);
spielzug = new Spielzug(kartensatz); spielzug = new Spielzug(kartensatz);
dashboard = dashboard_gui; dashboard = dashboard_gui;
spielGewonnen = false;
} }
public boolean getAussetzen() { public boolean getAussetzen() {
@@ -112,6 +114,7 @@ public class Spiel {
* @param dashboard * @param dashboard
*/ */
private void alternieren(Dashboard_GUI dashboard) { private void alternieren(Dashboard_GUI dashboard) {
if(spielGewonnen) return;
if(amZug == Spieler.SPIELER) { if(amZug == Spieler.SPIELER) {
amZug = Spieler.COMPUTER; amZug = Spieler.COMPUTER;
dashboard.aktualisiereGUI(); //Komplette GUI wird aktualisiert dashboard.aktualisiereGUI(); //Komplette GUI wird aktualisiert
@@ -134,10 +137,10 @@ public class Spiel {
} }
else { else {
amZug = Spieler.SPIELER; amZug = Spieler.SPIELER;
dashboard.aktualisiereGUI();
System.out.println("\nSPIEL Spieler am Zug"); System.out.println("\nSPIEL Spieler am Zug");
if(aussetzen) { if(aussetzen) {
System.out.println("\nSPIEL Aussetzen m<>glich"); System.out.println("\nSPIEL Aussetzen m<>glich");
aussetzen = false;
dashboard.showaussetzen(); dashboard.showaussetzen();
dashboard.aktualisiereGUI(); 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() { public void aussetzen() {
if(spielGewonnen) return;
aussetzen = false;
alternieren(dashboard); alternieren(dashboard);
} }
@@ -154,9 +167,8 @@ public class Spiel {
* @param kartenindex * @param kartenindex
*/ */
public void karteLegen(int kartenindex) { public void karteLegen(int kartenindex) {
if(spielGewonnen) return;
System.out.println("SPIEL Versuche Karte " + kartenindex + " zu legen"); 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 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 pruefeZug positiv");
System.out.println("SPIEL Lege Karte " + kartenindex); System.out.println("SPIEL Lege Karte " + kartenindex);
@@ -166,6 +178,9 @@ public class Spiel {
} }
if(kartensatz.getHand(amZug).isEmpty()) { if(kartensatz.getHand(amZug).isEmpty()) {
audio.spieleJauJau(); audio.spieleJauJau();
dashboard.aktualisiereGUI();
gewinn(amZug);
return;
//Spieler hat gewonnen, keine Karte mehr auf der Hand -- Was passiert? //Spieler hat gewonnen, keine Karte mehr auf der Hand -- Was passiert?
// Spieler Gewonnen aufrufen, Punkte aktualisieren // Spieler Gewonnen aufrufen, Punkte aktualisieren
// Highscore Page oder Startseite aufrufen // Highscore Page oder Startseite aufrufen
@@ -176,13 +191,13 @@ public class Spiel {
alternieren(dashboard); alternieren(dashboard);
} }
} }
}
/** /**
* falls eine oder mehrere Karten gezogen werden k<>nnen, wird dies ausgef<65>hrt * falls eine oder mehrere Karten gezogen werden k<>nnen, wird dies ausgef<65>hrt
*/ */
public void karteZiehen(){ public void karteZiehen(){
if(spielGewonnen) return;
if(!aussetzen) { if(!aussetzen) {
if(zwei_ziehen) { //mehrere ziehen if(zwei_ziehen) { //mehrere ziehen
System.out.println("\nSPIEL " + kartenZiehen + " Karten gezogen"); System.out.println("\nSPIEL " + kartenZiehen + " Karten gezogen");
@@ -208,6 +223,7 @@ public class Spiel {
* setzt Effekt-Variablen und Wunschfarbe f<>r einen W<>nscher * setzt Effekt-Variablen und Wunschfarbe f<>r einen W<>nscher
*/ */
private void effekteSetzen() { private void effekteSetzen() {
if(spielGewonnen) return;
gelegterWert = kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT(); gelegterWert = kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT();
if(gelegterWert == Wert.ACHT) { if(gelegterWert == Wert.ACHT) {
aussetzen = true; aussetzen = true;
@@ -221,7 +237,7 @@ public class Spiel {
kartensatz.SetWunschfarbe(computerGegner.farbeAussuchen(kartensatz)); kartensatz.SetWunschfarbe(computerGegner.farbeAussuchen(kartensatz));
} }
else { else {
dashboard.showwunsch(); dashboard.showwunsch(); //Returnwert!
} }
} }
System.out.println("\nSPIEL Effekte gesetzt:\nSPIEL Aussetzen: " + aussetzen + "\nSPIEL Zwei_Ziehen: " + zwei_ziehen + "\nSPIEL Anzahl: " + kartenZiehen); System.out.println("\nSPIEL Effekte gesetzt:\nSPIEL Aussetzen: " + aussetzen + "\nSPIEL Zwei_Ziehen: " + zwei_ziehen + "\nSPIEL Anzahl: " + kartenZiehen);