From a93799ff46a566b13a656a208cc94dbde8663de0 Mon Sep 17 00:00:00 2001 From: Fabian Keller Date: Thu, 7 Jan 2021 16:00:15 +0100 Subject: [PATCH] =?UTF-8?q?Methoden=20f=C3=BCr=20zusammenarbeit=20mit=20Co?= =?UTF-8?q?mputergegner=20angepasst?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/de/jaujau/spiellogik/Spiel.java | 42 ++++++++++++++--------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/src/de/jaujau/spiellogik/Spiel.java b/src/de/jaujau/spiellogik/Spiel.java index 8ec103e..7d23caf 100644 --- a/src/de/jaujau/spiellogik/Spiel.java +++ b/src/de/jaujau/spiellogik/Spiel.java @@ -29,9 +29,9 @@ public class Spiel { private Dashboard_GUI dashboard; public Spiel(Dashboard_GUI dashboard_gui) { - computerGegner = new Computer_gegner(kartensatz); audio = new Audio(); kartensatz = new Kartensatz(); + computerGegner = new Computer_gegner(kartensatz); spielzug = new Spielzug(kartensatz); spielgestartet = false; dashboard = dashboard_gui; @@ -86,6 +86,7 @@ public class Spiel { 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 SPIELER: " + kartensatz.getHand(Spieler.SPIELER)); + //COMPUTER DIREKT AM ZUG return; } //Spiel bereits gestartet @@ -93,17 +94,24 @@ public class Spiel { amZug = Spieler.COMPUTER; dashboard.aktualisiereGUI(); //Komplette GUI wird aktualisiert System.out.println("Computer am Zug"); - //wenn möglich Computer soll Karte legen - if(spielzug.zugMoeglich(Spieler.COMPUTER)) { - //karteLegen(computerGegner.cpu_Zug()); - } - //andernfalls soll gezogen werden - else karteZiehen(); + int computerZug = computerGegner.cpu_Zug(zwei_ziehen, aussetzen); + System.out.println("Computerauswahl: " + computerZug); + switch(computerZug) { + case -2: //aussetzen + aussetzen = false; + break; + case -1: + karteZiehen(); + break; + default: + karteLegen(computerZug); + break; + } } else { amZug= Spieler.SPIELER; 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; spiel(dashboard); } @@ -117,11 +125,11 @@ public class Spiel { * @param 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"); - if (spielzug.pruefeZug(kartenindex)) { + if (spielzug.pruefeZug(kartenindex, zwei_ziehen, aussetzen)) { //gewählte Karte kann gelegt werden System.out.println("pruefeZug positiv"); - kartensatz.ablegen(kartenindex); + kartensatz.ablegen(kartenindex); //Nullpointer if(kartensatz.getHand(amZug).size() == 1) { audio.spieleJau(); } @@ -133,12 +141,8 @@ public class Spiel { } effekteSetzen(); spiel(dashboard); - } } - else { - aussetzen = false; - } System.out.println("Kartenhand von COMPUTER: " + kartensatz.getHand(Spieler.COMPUTER)); System.out.println("Kartenhand von SPIELER: " + kartensatz.getHand(Spieler.SPIELER)); } @@ -149,8 +153,7 @@ public class Spiel { */ public void karteZiehen(){ if(!aussetzen) { - if(zwei_ziehen) { -// if() + if(zwei_ziehen) { //mehrere ziehen for(int i = 0; i < kartenZiehen; i++) { kartensatz.ziehen(amZug); } @@ -158,19 +161,16 @@ public class Spiel { zwei_ziehen = false; spiel(dashboard); } - else { + else { //Normales ziehen kartensatz.ziehen(amZug); spiel(dashboard); } } else { //AussetzenButton return; -// aussetzen = false; -// spiel(dashboard); } System.out.println("Kartenhand von COMPUTER: " + kartensatz.getHand(Spieler.COMPUTER)); System.out.println("Kartenhand von SPIELER: " + kartensatz.getHand(Spieler.SPIELER)); - effekteSetzen(); }