Methoden für zusammenarbeit mit Computergegner angepasst

This commit is contained in:
Fabian Keller
2021-01-07 16:00:15 +01:00
parent fb4857595a
commit a93799ff46

View File

@@ -29,9 +29,9 @@ public class Spiel {
private Dashboard_GUI dashboard; private Dashboard_GUI dashboard;
public Spiel(Dashboard_GUI dashboard_gui) { public Spiel(Dashboard_GUI dashboard_gui) {
computerGegner = new Computer_gegner(kartensatz);
audio = new Audio(); audio = new Audio();
kartensatz = new Kartensatz(); kartensatz = new Kartensatz();
computerGegner = new Computer_gegner(kartensatz);
spielzug = new Spielzug(kartensatz); spielzug = new Spielzug(kartensatz);
spielgestartet = false; spielgestartet = false;
dashboard = dashboard_gui; dashboard = dashboard_gui;
@@ -86,6 +86,7 @@ public class Spiel {
kartensatz.ablegen(kartenindex); //nicht in der Hand befindliche Karte zum Start aufdecken kartensatz.ablegen(kartenindex); //nicht in der Hand befindliche Karte zum Start aufdecken
System.out.println("Kartenhand von COMPUTER: " + kartensatz.getHand(Spieler.COMPUTER)); System.out.println("Kartenhand von COMPUTER: " + kartensatz.getHand(Spieler.COMPUTER));
System.out.println("Kartenhand von SPIELER: " + kartensatz.getHand(Spieler.SPIELER)); System.out.println("Kartenhand von SPIELER: " + kartensatz.getHand(Spieler.SPIELER));
//COMPUTER DIREKT AM ZUG
return; return;
} }
//Spiel bereits gestartet //Spiel bereits gestartet
@@ -93,17 +94,24 @@ public class Spiel {
amZug = Spieler.COMPUTER; amZug = Spieler.COMPUTER;
dashboard.aktualisiereGUI(); //Komplette GUI wird aktualisiert dashboard.aktualisiereGUI(); //Komplette GUI wird aktualisiert
System.out.println("Computer am Zug"); System.out.println("Computer am Zug");
//wenn m<>glich Computer soll Karte legen int computerZug = computerGegner.cpu_Zug(zwei_ziehen, aussetzen);
if(spielzug.zugMoeglich(Spieler.COMPUTER)) { System.out.println("Computerauswahl: " + computerZug);
//karteLegen(computerGegner.cpu_Zug()); switch(computerZug) {
case -2: //aussetzen
aussetzen = false;
break;
case -1:
karteZiehen();
break;
default:
karteLegen(computerZug);
break;
} }
//andernfalls soll gezogen werden
else karteZiehen();
} }
else { else {
amZug= Spieler.SPIELER; amZug= Spieler.SPIELER;
System.out.println("Spieler am Zug"); System.out.println("Spieler am Zug");
if(!spielzug.zugMoeglich(amZug)&&aussetzen) { //falls kein Zug m<>glich ist wird der Aussetzenbutton angezeigt! if(!spielzug.zugMoeglich(amZug, zwei_ziehen, aussetzen)&&aussetzen) { //falls kein Zug m<>glich ist wird der Aussetzenbutton angezeigt!
aussetzen = false; aussetzen = false;
spiel(dashboard); spiel(dashboard);
} }
@@ -117,11 +125,11 @@ public class Spiel {
* @param kartenindex * @param kartenindex
*/ */
public void karteLegen(int kartenindex) { public void karteLegen(int kartenindex) {
if(spielzug.zugMoeglich(amZug)) { if(spielzug.zugMoeglich(amZug, zwei_ziehen, aussetzen)) { //m<>gliche Karte auf der Hand
System.out.println("Legen M<>glich"); System.out.println("Legen M<>glich");
if (spielzug.pruefeZug(kartenindex)) { if (spielzug.pruefeZug(kartenindex, zwei_ziehen, aussetzen)) { //gew<65>hlte Karte kann gelegt werden
System.out.println("pruefeZug positiv"); System.out.println("pruefeZug positiv");
kartensatz.ablegen(kartenindex); kartensatz.ablegen(kartenindex); //Nullpointer
if(kartensatz.getHand(amZug).size() == 1) { if(kartensatz.getHand(amZug).size() == 1) {
audio.spieleJau(); audio.spieleJau();
} }
@@ -133,12 +141,8 @@ public class Spiel {
} }
effekteSetzen(); effekteSetzen();
spiel(dashboard); spiel(dashboard);
} }
} }
else {
aussetzen = false;
}
System.out.println("Kartenhand von COMPUTER: " + kartensatz.getHand(Spieler.COMPUTER)); System.out.println("Kartenhand von COMPUTER: " + kartensatz.getHand(Spieler.COMPUTER));
System.out.println("Kartenhand von SPIELER: " + kartensatz.getHand(Spieler.SPIELER)); System.out.println("Kartenhand von SPIELER: " + kartensatz.getHand(Spieler.SPIELER));
} }
@@ -149,8 +153,7 @@ public class Spiel {
*/ */
public void karteZiehen(){ public void karteZiehen(){
if(!aussetzen) { if(!aussetzen) {
if(zwei_ziehen) { if(zwei_ziehen) { //mehrere ziehen
// if()
for(int i = 0; i < kartenZiehen; i++) { for(int i = 0; i < kartenZiehen; i++) {
kartensatz.ziehen(amZug); kartensatz.ziehen(amZug);
} }
@@ -158,19 +161,16 @@ public class Spiel {
zwei_ziehen = false; zwei_ziehen = false;
spiel(dashboard); spiel(dashboard);
} }
else { else { //Normales ziehen
kartensatz.ziehen(amZug); kartensatz.ziehen(amZug);
spiel(dashboard); spiel(dashboard);
} }
} }
else { //AussetzenButton else { //AussetzenButton
return; return;
// aussetzen = false;
// spiel(dashboard);
} }
System.out.println("Kartenhand von COMPUTER: " + kartensatz.getHand(Spieler.COMPUTER)); System.out.println("Kartenhand von COMPUTER: " + kartensatz.getHand(Spieler.COMPUTER));
System.out.println("Kartenhand von SPIELER: " + kartensatz.getHand(Spieler.SPIELER)); System.out.println("Kartenhand von SPIELER: " + kartensatz.getHand(Spieler.SPIELER));
effekteSetzen();
} }