Methode wuenscher() hinzugefuegt, gewinn eingebaut

This commit is contained in:
Fabian Keller
2021-01-08 12:54:39 +01:00
parent 5b1b93f98e
commit d592586661

View File

@@ -3,6 +3,7 @@ package de.jaujau.spiellogik;
import java.util.Random; import java.util.Random;
import de.jaujau.daten.Audio; import de.jaujau.daten.Audio;
import de.jaujau.daten.Farbe;
import de.jaujau.daten.Kartensatz; import de.jaujau.daten.Kartensatz;
import de.jaujau.daten.Spieler; import de.jaujau.daten.Spieler;
import de.jaujau.daten.Wert; import de.jaujau.daten.Wert;
@@ -61,7 +62,7 @@ public class Spiel {
* Initialisiert ein Spiel * Initialisiert ein Spiel
* @param dashboard * @param dashboard
*/ */
public void spiel(Dashboard_GUI dashboard) { public void spiel() {
System.out.println("\nSPIEL Spiel gestartet."); System.out.println("\nSPIEL Spiel gestartet.");
Random zufallszahl = new Random(); Random zufallszahl = new Random();
int zahl = zufallszahl.nextInt(2); int zahl = zufallszahl.nextInt(2);
@@ -92,7 +93,7 @@ public class Spiel {
switch(computerZug) { switch(computerZug) {
case -2: //aussetzen anzeigen? case -2: //aussetzen anzeigen?
aussetzen = false; aussetzen = false;
alternieren(dashboard); alternieren();
break; break;
case -1: case -1:
karteZiehen(); karteZiehen();
@@ -113,7 +114,7 @@ public class Spiel {
* Organisiert den Spielablauf * Organisiert den Spielablauf
* @param dashboard * @param dashboard
*/ */
private void alternieren(Dashboard_GUI dashboard) { private void alternieren() {
if(spielGewonnen) return; if(spielGewonnen) return;
if(amZug == Spieler.SPIELER) { if(amZug == Spieler.SPIELER) {
amZug = Spieler.COMPUTER; amZug = Spieler.COMPUTER;
@@ -124,7 +125,7 @@ public class Spiel {
switch(computerZug) { switch(computerZug) {
case -2: case -2:
aussetzen = false; aussetzen = false;
alternieren(dashboard); alternieren();
break; break;
case -1: case -1:
karteZiehen(); karteZiehen();
@@ -149,19 +150,24 @@ public class Spiel {
} }
/**
* Wird aufgerufen wenn das Spiel entschieden wurde
* @param spieler Spieler, welcher gewonnen hat
*/
private void gewinn(Spieler spieler) { private void gewinn(Spieler spieler) {
System.out.println("HERZLICHEN GL<47>CKWUNSCH " + amZug + ". DU HAST GEWONNEN"); System.out.println("HERZLICHEN GL<47>CKWUNSCH " + spieler + ". DU HAST GEWONNEN");
dashboard.aktualisiereGUI(); dashboard.gewonnen(spieler);
spielGewonnen = true; spielGewonnen = true;
} }
/** /**
* Bietet die M<>glichkeit auszusetzen * Bietet die M<>glichkeit auszusetzen
*/ */
public void aussetzen() { public void aussetzen() {
if(spielGewonnen) return; if(spielGewonnen) return;
aussetzen = false;//alternieren wird aufgerufen bevor GUI fertig abgearbeitet. aussetzen = false;//alternieren wird aufgerufen bevor GUI fertig abgearbeitet.
alternieren(dashboard); alternieren();
} }
/** /**
@@ -189,7 +195,9 @@ public class Spiel {
System.out.println("SPIEL Kartenhand von COMPUTER: " + kartensatz.getHand(Spieler.COMPUTER)); System.out.println("SPIEL Kartenhand von COMPUTER: " + kartensatz.getHand(Spieler.COMPUTER));
System.out.println("SPIEL Kartenhand von SPIELER: " + kartensatz.getHand(Spieler.SPIELER)); System.out.println("SPIEL Kartenhand von SPIELER: " + kartensatz.getHand(Spieler.SPIELER));
effekteSetzen(); effekteSetzen();
alternieren(dashboard); if(kartensatz.getKarte(kartenindex).getWERT() == Wert.BUBE) {
if(amZug == Spieler.COMPUTER) alternieren();
}
} }
} }
@@ -212,7 +220,7 @@ public class Spiel {
kartensatz.ziehen(amZug); kartensatz.ziehen(amZug);
System.out.println("\nSPIEL 1 Karte gezogen"); System.out.println("\nSPIEL 1 Karte gezogen");
} }
alternieren(dashboard); alternieren();
} }
else { //AussetzenButton else { //AussetzenButton
return; return;
@@ -220,6 +228,16 @@ public class Spiel {
} }
/**
* Setzt die W<>nscher Farbe
* @param farbe
*/
public void wuenscher(Farbe farbe) {
kartensatz.SetWunschfarbe(farbe);
alternieren();
}
/** /**
* setzt Effekt-Variablen und Wunschfarbe f<>r einen W<>nscher * setzt Effekt-Variablen und Wunschfarbe f<>r einen W<>nscher
*/ */
@@ -238,7 +256,7 @@ public class Spiel {
kartensatz.SetWunschfarbe(computerGegner.farbeAussuchen(kartensatz)); kartensatz.SetWunschfarbe(computerGegner.farbeAussuchen(kartensatz));
} }
else { else {
dashboard.showwunsch(true); //Returnwert! dashboard.showwunsch(true);
} }
} }
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);