From d5925866613c8ee0cd516ba1718bbb9c22172c77 Mon Sep 17 00:00:00 2001 From: Fabian Keller Date: Fri, 8 Jan 2021 12:54:39 +0100 Subject: [PATCH] Methode wuenscher() hinzugefuegt, gewinn eingebaut --- src/de/jaujau/spiellogik/Spiel.java | 38 +++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/src/de/jaujau/spiellogik/Spiel.java b/src/de/jaujau/spiellogik/Spiel.java index 5636f11..80064aa 100644 --- a/src/de/jaujau/spiellogik/Spiel.java +++ b/src/de/jaujau/spiellogik/Spiel.java @@ -3,6 +3,7 @@ package de.jaujau.spiellogik; import java.util.Random; import de.jaujau.daten.Audio; +import de.jaujau.daten.Farbe; import de.jaujau.daten.Kartensatz; import de.jaujau.daten.Spieler; import de.jaujau.daten.Wert; @@ -61,7 +62,7 @@ public class Spiel { * Initialisiert ein Spiel * @param dashboard */ - public void spiel(Dashboard_GUI dashboard) { + public void spiel() { System.out.println("\nSPIEL Spiel gestartet."); Random zufallszahl = new Random(); int zahl = zufallszahl.nextInt(2); @@ -92,7 +93,7 @@ public class Spiel { switch(computerZug) { case -2: //aussetzen anzeigen? aussetzen = false; - alternieren(dashboard); + alternieren(); break; case -1: karteZiehen(); @@ -113,7 +114,7 @@ public class Spiel { * Organisiert den Spielablauf * @param dashboard */ - private void alternieren(Dashboard_GUI dashboard) { + private void alternieren() { if(spielGewonnen) return; if(amZug == Spieler.SPIELER) { amZug = Spieler.COMPUTER; @@ -124,7 +125,7 @@ public class Spiel { switch(computerZug) { case -2: aussetzen = false; - alternieren(dashboard); + alternieren(); break; case -1: 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) { - System.out.println("HERZLICHEN GLÜCKWUNSCH " + amZug + ". DU HAST GEWONNEN"); - dashboard.aktualisiereGUI(); + System.out.println("HERZLICHEN GLÜCKWUNSCH " + spieler + ". DU HAST GEWONNEN"); + dashboard.gewonnen(spieler); spielGewonnen = true; } + /** * Bietet die Möglichkeit auszusetzen */ public void aussetzen() { if(spielGewonnen) return; 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 SPIELER: " + kartensatz.getHand(Spieler.SPIELER)); 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); System.out.println("\nSPIEL 1 Karte gezogen"); } - alternieren(dashboard); + alternieren(); } else { //AussetzenButton 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 */ @@ -238,7 +256,7 @@ public class Spiel { kartensatz.SetWunschfarbe(computerGegner.farbeAussuchen(kartensatz)); } 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);