From 8940bcdbfc194ce355e4673da9e9d4a9f9415e3b Mon Sep 17 00:00:00 2001 From: Fabian Keller Date: Mon, 11 Jan 2021 15:33:10 +0100 Subject: [PATCH] Kommentierung verbessert, Debug durch debug-boolean ausgeblendet --- src/de/jaujau/spiellogik/Spiel.java | 97 +++++++++++++++-------------- 1 file changed, 49 insertions(+), 48 deletions(-) diff --git a/src/de/jaujau/spiellogik/Spiel.java b/src/de/jaujau/spiellogik/Spiel.java index 6ae3695..5ad3e6a 100644 --- a/src/de/jaujau/spiellogik/Spiel.java +++ b/src/de/jaujau/spiellogik/Spiel.java @@ -29,6 +29,7 @@ public class Spiel { private int kartenZiehen; private Dashboard_GUI dashboard; private boolean spielGewonnen; + private boolean debug = false; public Spiel(Dashboard_GUI dashboard_gui) { audio = new Audio(); @@ -65,41 +66,41 @@ public class Spiel { * @param dashboard */ public void spiel(Dashboard_GUI dashboard) { - System.out.println("\nSPIEL Spiel gestartet."); + if(debug) System.out.println("\nSPIEL Spiel gestartet."); Random zufallszahl = new Random(); int zahl = zufallszahl.nextInt(2); if(zahl == 1) { //Starter durch zufall bestimmen amZug = Spieler.SPIELER; - System.out.println("SPIEL Spieler startet"); + if(debug) System.out.println("SPIEL Spieler startet"); } else { amZug = Spieler.COMPUTER; - System.out.println("SPIEL Computer startet"); + if(debug) System.out.println("SPIEL Computer startet"); } for(int i = 0; i < 7; i++) { //Jeder bekommt 7 Karten kartensatz.ziehen(Spieler.COMPUTER); kartensatz.ziehen(Spieler.SPIELER); } - System.out.println("SPIEL Kartenhand von COMPUTER: " + kartensatz.getHand(Spieler.COMPUTER)); - System.out.println("SPIEL Kartenhand von SPIELER: " + kartensatz.getHand(Spieler.SPIELER)); - effekteSetzen(); - if(amZug == Spieler.COMPUTER) { + if(debug) System.out.println("SPIEL Kartenhand von COMPUTER: " + kartensatz.getHand(Spieler.COMPUTER)); + if(debug) System.out.println("SPIEL Kartenhand von SPIELER: " + kartensatz.getHand(Spieler.SPIELER)); + effekteSetzen(); //effekte für den Start setzen + if(amZug == Spieler.COMPUTER) { //falls der PC startet, findet hier der erste Zug statt int computerZug = computerGegner.cpu_Zug(zwei_ziehen, aussetzen, kartensatz); - System.out.println("\nSPIEL Computerauswahl: " + computerZug); + if(debug) System.out.println("\nSPIEL Computerauswahl: " + computerZug); switch(computerZug) { - case -2: + case -2: //aussetzen aussetzen = false; alternieren(dashboard); break; - case -1: + case -1: //Karte ziehen karteZiehen(); break; - default: + default: //Karte legen karteLegen(computerZug); break; } } - else if(amZug == Spieler.SPIELER) { + else if(amZug == Spieler.SPIELER) {//falls der Spieler startet wird noch der Aussetzen-Button eingeblendet if(aussetzen) dashboard.showaussetzen(true); } return; @@ -107,17 +108,17 @@ public class Spiel { /** - * Organisiert den Spielablauf nach jedem gültigen Zug + * Organisiert den Spielablauf nach jedem gültigen Zug, wechselt zwischen Spieler und Computer * @param dashboard */ private void alternieren(Dashboard_GUI dashboard) { if(spielGewonnen) return; - if(amZug == Spieler.SPIELER) { + if(amZug == Spieler.SPIELER) { //CPU Zug findet statt amZug = Spieler.COMPUTER; dashboard.aktualisiereGUI(); - System.out.println("\nSPIEL Computer am Zug"); + if(debug) System.out.println("\nSPIEL Computer am Zug"); int computerZug = computerGegner.cpu_Zug(zwei_ziehen, aussetzen, kartensatz); - System.out.println("SPIEL Computerauswahl: " + computerZug); + if(debug) System.out.println("SPIEL Computerauswahl: " + computerZug); switch(computerZug) { case -2: aussetzen = false; @@ -132,12 +133,12 @@ public class Spiel { } } - else { + else { //Spieler Zug findet statt amZug = Spieler.SPIELER; dashboard.aktualisiereGUI(); - System.out.println("\nSPIEL Spieler am Zug"); - if(aussetzen) { - System.out.println("\nSPIEL Aussetzen möglich"); + if(debug) System.out.println("\nSPIEL Spieler am Zug"); + if(aussetzen) { //falls aussetzen aktiv, wird die Möglichkeit über den Button aktiviert + if(debug) System.out.println("\nSPIEL Aussetzen möglich"); dashboard.showaussetzen(true); dashboard.aktualisiereGUI(); } @@ -150,14 +151,14 @@ public class Spiel { * @param spieler Spieler, welcher gewonnen hat */ private void gewinn(Spieler spieler) { - System.out.println("HERZLICHEN GLÜCKWUNSCH " + spieler + ". DU HAST GEWONNEN"); + if(debug) System.out.println("HERZLICHEN GLÜCKWUNSCH " + spieler + ". DU HAST GEWONNEN"); dashboard.gewonnen(spieler); spielGewonnen = true; } /** - * Bietet die Möglichkeit auszusetzen + * Bietet für den Spieler die Möglichkeit auszusetzen */ public void aussetzen() { if(spielGewonnen) return; @@ -166,35 +167,35 @@ public class Spiel { } /** - * falls eine Karte gelegt werden kann, wird diese gelegt + * falls eine Karte gelegt werden kann, wird diese für den Teilnehmer gelegt * @param kartenindex */ public void karteLegen(int kartenindex) { if(spielGewonnen) return; - System.out.println("SPIEL Versuche Karte " + kartenindex + " zu legen"); - if (spielzug.pruefeZug(kartenindex, zwei_ziehen, aussetzen, kartensatz)) { //gewählte Karte kann gelegt werden - System.out.println("SPIEL pruefeZug positiv"); - System.out.println("SPIEL Lege Karte " + kartenindex); - kartensatz.ablegen(kartenindex); + if(debug) System.out.println("SPIEL Versuche Karte " + kartenindex + " zu legen"); + if (spielzug.pruefeZug(kartenindex, zwei_ziehen, aussetzen, kartensatz)) { //gewählte Karte kann gelegt werden - Zug kann stattfinden | sonst nichts + if(debug) System.out.println("SPIEL pruefeZug positiv"); + if(debug) System.out.println("SPIEL Lege Karte " + kartenindex); + kartensatz.ablegen(kartenindex); //karte ablegen if(kartensatz.getHand(amZug).size() == 1) { //Teilnehmer hat nur noch eine Karte audio.spieleJau(); } if(kartensatz.getHand(amZug).isEmpty()) { //Teilnehmer hat gewonnen audio.spieleJauJau(); - gewinn(amZug); + gewinn(amZug); //amZug hat gewonnen return; } - System.out.println("SPIEL Kartenhand von COMPUTER: " + kartensatz.getHand(Spieler.COMPUTER)); - System.out.println("SPIEL Kartenhand von SPIELER: " + kartensatz.getHand(Spieler.SPIELER)); - effekteSetzen(); - if(kartensatz.getKarte(kartenindex).getWERT() == Wert.ACHT) { //Sonderfall: wiederholtes aussetzen + if(debug) System.out.println("SPIEL Kartenhand von COMPUTER: " + kartensatz.getHand(Spieler.COMPUTER)); + if(debug) System.out.println("SPIEL Kartenhand von SPIELER: " + kartensatz.getHand(Spieler.SPIELER)); + effekteSetzen(); //effekte neu setzen + if(kartensatz.getKarte(kartenindex).getWERT() == Wert.ACHT) { //Sonderfall: wiederholtes aussetzen Spieler if(amZug == Spieler.SPIELER) dashboard.showaussetzen(false); } - if(kartensatz.getKarte(kartenindex).getWERT() == Wert.BUBE) { //Sonderfall: Wünscher wurde gelegt + if(kartensatz.getKarte(kartenindex).getWERT() == Wert.BUBE) { //Sonderfall: Wünscher wurde gelegt Spieler if(amZug == Spieler.COMPUTER) alternieren(dashboard); } else { - alternieren(dashboard); + alternieren(dashboard); //weiter ohne Sonderfall } } } @@ -207,31 +208,31 @@ public class Spiel { if(spielGewonnen) return; if(!aussetzen) { if(zwei_ziehen) { //mehrere ziehen - System.out.println("\nSPIEL " + kartenZiehen + " Karten gezogen"); + if(debug) System.out.println("\nSPIEL " + kartenZiehen + " Karten gezogen"); for(int i = 0; i < kartenZiehen; i++) { kartensatz.ziehen(amZug); } kartenZiehen = 0; zwei_ziehen = false; } - else { //Normales ziehen + else { //Normales (1) ziehen kartensatz.ziehen(amZug); - System.out.println("\nSPIEL 1 Karte gezogen"); + if(debug) System.out.println("\nSPIEL 1 Karte gezogen"); } alternieren(dashboard); } - else { //ziehen nicht möglich + else { //ziehen nicht möglich - nichts passiert return; } } /** - * Setzt die Wünscher Farbe + * Setzt die Wunschfarbe für den Spieler * @param farbe */ public void wuenscher(Farbe farbe) { - System.out.println("\nSPIEL Wünsche Farbe"); + if(debug) System.out.println("\nSPIEL Wünsche Farbe"); kartensatz.SetWunschfarbe(farbe); alternieren(dashboard); dashboard.aktualisiereGUI(); @@ -239,26 +240,26 @@ public class Spiel { /** - * setzt Effekt-Variablen und Wunschfarbe für einen Wünscher + * setzt Effekt-Variablen und Wunschfarbe für einen Wünscher vom Spieler, ruft Farbauswahl für Spieler-Wünscher auf */ private void effekteSetzen() { if(spielGewonnen) return; gelegterWert = kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT(); - if(gelegterWert == Wert.ACHT) { + if(gelegterWert == Wert.ACHT) {//Aussetzen aussetzen = true; } - if(gelegterWert == Wert.SIEBEN) { + if(gelegterWert == Wert.SIEBEN) {//Ziehen zwei_ziehen = true; kartenZiehen += 2; } - if(gelegterWert == Wert.BUBE) { - if(amZug == Spieler.COMPUTER) { + if(gelegterWert == Wert.BUBE) {//Wünscher + if(amZug == Spieler.COMPUTER) {//Wunschfarbe durch PC wird gesetzt kartensatz.SetWunschfarbe(computerGegner.farbeAussuchen(kartensatz)); } - else { + else { //Wunschfarbe durch Spieler setzen dashboard.showwunsch(true); } } - System.out.println("\nSPIEL Effekte gesetzt:\nSPIEL Aussetzen: " + aussetzen + "\nSPIEL Zwei_Ziehen: " + zwei_ziehen + "\nSPIEL Anzahl: " + kartenZiehen); + if(debug) System.out.println("\nSPIEL Effekte gesetzt:\nSPIEL Aussetzen: " + aussetzen + "\nSPIEL Zwei_Ziehen: " + zwei_ziehen + "\nSPIEL Anzahl: " + kartenZiehen); } }