Kommentierung verbessert, Debug durch debug-boolean ausgeblendet
This commit is contained in:
@@ -29,6 +29,7 @@ public class Spiel {
|
|||||||
private int kartenZiehen;
|
private int kartenZiehen;
|
||||||
private Dashboard_GUI dashboard;
|
private Dashboard_GUI dashboard;
|
||||||
private boolean spielGewonnen;
|
private boolean spielGewonnen;
|
||||||
|
private boolean debug = false;
|
||||||
|
|
||||||
public Spiel(Dashboard_GUI dashboard_gui) {
|
public Spiel(Dashboard_GUI dashboard_gui) {
|
||||||
audio = new Audio();
|
audio = new Audio();
|
||||||
@@ -65,41 +66,41 @@ public class Spiel {
|
|||||||
* @param dashboard
|
* @param dashboard
|
||||||
*/
|
*/
|
||||||
public void spiel(Dashboard_GUI 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();
|
Random zufallszahl = new Random();
|
||||||
int zahl = zufallszahl.nextInt(2);
|
int zahl = zufallszahl.nextInt(2);
|
||||||
if(zahl == 1) { //Starter durch zufall bestimmen
|
if(zahl == 1) { //Starter durch zufall bestimmen
|
||||||
amZug = Spieler.SPIELER;
|
amZug = Spieler.SPIELER;
|
||||||
System.out.println("SPIEL Spieler startet");
|
if(debug) System.out.println("SPIEL Spieler startet");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
amZug = Spieler.COMPUTER;
|
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
|
for(int i = 0; i < 7; i++) { //Jeder bekommt 7 Karten
|
||||||
kartensatz.ziehen(Spieler.COMPUTER);
|
kartensatz.ziehen(Spieler.COMPUTER);
|
||||||
kartensatz.ziehen(Spieler.SPIELER);
|
kartensatz.ziehen(Spieler.SPIELER);
|
||||||
}
|
}
|
||||||
System.out.println("SPIEL Kartenhand von COMPUTER: " + kartensatz.getHand(Spieler.COMPUTER));
|
if(debug) System.out.println("SPIEL Kartenhand von COMPUTER: " + kartensatz.getHand(Spieler.COMPUTER));
|
||||||
System.out.println("SPIEL Kartenhand von SPIELER: " + kartensatz.getHand(Spieler.SPIELER));
|
if(debug) System.out.println("SPIEL Kartenhand von SPIELER: " + kartensatz.getHand(Spieler.SPIELER));
|
||||||
effekteSetzen();
|
effekteSetzen(); //effekte f<>r den Start setzen
|
||||||
if(amZug == Spieler.COMPUTER) {
|
if(amZug == Spieler.COMPUTER) { //falls der PC startet, findet hier der erste Zug statt
|
||||||
int computerZug = computerGegner.cpu_Zug(zwei_ziehen, aussetzen, kartensatz);
|
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) {
|
switch(computerZug) {
|
||||||
case -2:
|
case -2: //aussetzen
|
||||||
aussetzen = false;
|
aussetzen = false;
|
||||||
alternieren(dashboard);
|
alternieren(dashboard);
|
||||||
break;
|
break;
|
||||||
case -1:
|
case -1: //Karte ziehen
|
||||||
karteZiehen();
|
karteZiehen();
|
||||||
break;
|
break;
|
||||||
default:
|
default: //Karte legen
|
||||||
karteLegen(computerZug);
|
karteLegen(computerZug);
|
||||||
break;
|
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);
|
if(aussetzen) dashboard.showaussetzen(true);
|
||||||
}
|
}
|
||||||
return;
|
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
|
* @param dashboard
|
||||||
*/
|
*/
|
||||||
private void alternieren(Dashboard_GUI dashboard) {
|
private void alternieren(Dashboard_GUI dashboard) {
|
||||||
if(spielGewonnen) return;
|
if(spielGewonnen) return;
|
||||||
if(amZug == Spieler.SPIELER) {
|
if(amZug == Spieler.SPIELER) { //CPU Zug findet statt
|
||||||
amZug = Spieler.COMPUTER;
|
amZug = Spieler.COMPUTER;
|
||||||
dashboard.aktualisiereGUI();
|
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);
|
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) {
|
switch(computerZug) {
|
||||||
case -2:
|
case -2:
|
||||||
aussetzen = false;
|
aussetzen = false;
|
||||||
@@ -132,12 +133,12 @@ public class Spiel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else {
|
else { //Spieler Zug findet statt
|
||||||
amZug = Spieler.SPIELER;
|
amZug = Spieler.SPIELER;
|
||||||
dashboard.aktualisiereGUI();
|
dashboard.aktualisiereGUI();
|
||||||
System.out.println("\nSPIEL Spieler am Zug");
|
if(debug) System.out.println("\nSPIEL Spieler am Zug");
|
||||||
if(aussetzen) {
|
if(aussetzen) { //falls aussetzen aktiv, wird die M<>glichkeit <20>ber den Button aktiviert
|
||||||
System.out.println("\nSPIEL Aussetzen m<>glich");
|
if(debug) System.out.println("\nSPIEL Aussetzen m<>glich");
|
||||||
dashboard.showaussetzen(true);
|
dashboard.showaussetzen(true);
|
||||||
dashboard.aktualisiereGUI();
|
dashboard.aktualisiereGUI();
|
||||||
}
|
}
|
||||||
@@ -150,14 +151,14 @@ public class Spiel {
|
|||||||
* @param spieler Spieler, welcher gewonnen hat
|
* @param spieler Spieler, welcher gewonnen hat
|
||||||
*/
|
*/
|
||||||
private void gewinn(Spieler spieler) {
|
private void gewinn(Spieler spieler) {
|
||||||
System.out.println("HERZLICHEN GL<47>CKWUNSCH " + spieler + ". DU HAST GEWONNEN");
|
if(debug) System.out.println("HERZLICHEN GL<47>CKWUNSCH " + spieler + ". DU HAST GEWONNEN");
|
||||||
dashboard.gewonnen(spieler);
|
dashboard.gewonnen(spieler);
|
||||||
spielGewonnen = true;
|
spielGewonnen = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Bietet die M<>glichkeit auszusetzen
|
* Bietet f<EFBFBD>r den Spieler die M<>glichkeit auszusetzen
|
||||||
*/
|
*/
|
||||||
public void aussetzen() {
|
public void aussetzen() {
|
||||||
if(spielGewonnen) return;
|
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<EFBFBD>r den Teilnehmer gelegt
|
||||||
* @param kartenindex
|
* @param kartenindex
|
||||||
*/
|
*/
|
||||||
public void karteLegen(int kartenindex) {
|
public void karteLegen(int kartenindex) {
|
||||||
if(spielGewonnen) return;
|
if(spielGewonnen) return;
|
||||||
System.out.println("SPIEL Versuche Karte " + kartenindex + " zu legen");
|
if(debug) System.out.println("SPIEL Versuche Karte " + kartenindex + " zu legen");
|
||||||
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 - Zug kann stattfinden | sonst nichts
|
||||||
System.out.println("SPIEL pruefeZug positiv");
|
if(debug) System.out.println("SPIEL pruefeZug positiv");
|
||||||
System.out.println("SPIEL Lege Karte " + kartenindex);
|
if(debug) System.out.println("SPIEL Lege Karte " + kartenindex);
|
||||||
kartensatz.ablegen(kartenindex);
|
kartensatz.ablegen(kartenindex); //karte ablegen
|
||||||
if(kartensatz.getHand(amZug).size() == 1) { //Teilnehmer hat nur noch eine Karte
|
if(kartensatz.getHand(amZug).size() == 1) { //Teilnehmer hat nur noch eine Karte
|
||||||
audio.spieleJau();
|
audio.spieleJau();
|
||||||
}
|
}
|
||||||
if(kartensatz.getHand(amZug).isEmpty()) { //Teilnehmer hat gewonnen
|
if(kartensatz.getHand(amZug).isEmpty()) { //Teilnehmer hat gewonnen
|
||||||
audio.spieleJauJau();
|
audio.spieleJauJau();
|
||||||
gewinn(amZug);
|
gewinn(amZug); //amZug hat gewonnen
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
System.out.println("SPIEL Kartenhand von COMPUTER: " + kartensatz.getHand(Spieler.COMPUTER));
|
if(debug) System.out.println("SPIEL Kartenhand von COMPUTER: " + kartensatz.getHand(Spieler.COMPUTER));
|
||||||
System.out.println("SPIEL Kartenhand von SPIELER: " + kartensatz.getHand(Spieler.SPIELER));
|
if(debug) System.out.println("SPIEL Kartenhand von SPIELER: " + kartensatz.getHand(Spieler.SPIELER));
|
||||||
effekteSetzen();
|
effekteSetzen(); //effekte neu setzen
|
||||||
if(kartensatz.getKarte(kartenindex).getWERT() == Wert.ACHT) { //Sonderfall: wiederholtes aussetzen
|
if(kartensatz.getKarte(kartenindex).getWERT() == Wert.ACHT) { //Sonderfall: wiederholtes aussetzen Spieler
|
||||||
if(amZug == Spieler.SPIELER) dashboard.showaussetzen(false);
|
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);
|
if(amZug == Spieler.COMPUTER) alternieren(dashboard);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
alternieren(dashboard);
|
alternieren(dashboard); //weiter ohne Sonderfall
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -207,31 +208,31 @@ public class Spiel {
|
|||||||
if(spielGewonnen) return;
|
if(spielGewonnen) return;
|
||||||
if(!aussetzen) {
|
if(!aussetzen) {
|
||||||
if(zwei_ziehen) { //mehrere ziehen
|
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++) {
|
for(int i = 0; i < kartenZiehen; i++) {
|
||||||
kartensatz.ziehen(amZug);
|
kartensatz.ziehen(amZug);
|
||||||
}
|
}
|
||||||
kartenZiehen = 0;
|
kartenZiehen = 0;
|
||||||
zwei_ziehen = false;
|
zwei_ziehen = false;
|
||||||
}
|
}
|
||||||
else { //Normales ziehen
|
else { //Normales (1) ziehen
|
||||||
kartensatz.ziehen(amZug);
|
kartensatz.ziehen(amZug);
|
||||||
System.out.println("\nSPIEL 1 Karte gezogen");
|
if(debug) System.out.println("\nSPIEL 1 Karte gezogen");
|
||||||
}
|
}
|
||||||
alternieren(dashboard);
|
alternieren(dashboard);
|
||||||
}
|
}
|
||||||
else { //ziehen nicht m<>glich
|
else { //ziehen nicht m<>glich - nichts passiert
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Setzt die W<EFBFBD>nscher Farbe
|
* Setzt die Wunschfarbe f<>r den Spieler
|
||||||
* @param farbe
|
* @param farbe
|
||||||
*/
|
*/
|
||||||
public void wuenscher(Farbe 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);
|
kartensatz.SetWunschfarbe(farbe);
|
||||||
alternieren(dashboard);
|
alternieren(dashboard);
|
||||||
dashboard.aktualisiereGUI();
|
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() {
|
private void effekteSetzen() {
|
||||||
if(spielGewonnen) return;
|
if(spielGewonnen) return;
|
||||||
gelegterWert = kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT();
|
gelegterWert = kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT();
|
||||||
if(gelegterWert == Wert.ACHT) {
|
if(gelegterWert == Wert.ACHT) {//Aussetzen
|
||||||
aussetzen = true;
|
aussetzen = true;
|
||||||
}
|
}
|
||||||
if(gelegterWert == Wert.SIEBEN) {
|
if(gelegterWert == Wert.SIEBEN) {//Ziehen
|
||||||
zwei_ziehen = true;
|
zwei_ziehen = true;
|
||||||
kartenZiehen += 2;
|
kartenZiehen += 2;
|
||||||
}
|
}
|
||||||
if(gelegterWert == Wert.BUBE) {
|
if(gelegterWert == Wert.BUBE) {//W<>nscher
|
||||||
if(amZug == Spieler.COMPUTER) {
|
if(amZug == Spieler.COMPUTER) {//Wunschfarbe durch PC wird gesetzt
|
||||||
kartensatz.SetWunschfarbe(computerGegner.farbeAussuchen(kartensatz));
|
kartensatz.SetWunschfarbe(computerGegner.farbeAussuchen(kartensatz));
|
||||||
}
|
}
|
||||||
else {
|
else { //Wunschfarbe durch Spieler setzen
|
||||||
dashboard.showwunsch(true);
|
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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user