From 12ed12e31e0316d5050d7439d5cae1229d9ca329 Mon Sep 17 00:00:00 2001 From: Fabian Keller Date: Fri, 11 Dec 2020 12:02:59 +0100 Subject: [PATCH] =?UTF-8?q?Weiterentwicklung=20von=20legen(),=20ziehen()?= =?UTF-8?q?=20und=20erste=20Idee=20f=C3=BCr=20spiel()?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/de/jaujau/spiellogik/Spiel.java | 55 ++++++++++++++++++++--------- 1 file changed, 39 insertions(+), 16 deletions(-) diff --git a/src/de/jaujau/spiellogik/Spiel.java b/src/de/jaujau/spiellogik/Spiel.java index 68bc9b6..29e8552 100644 --- a/src/de/jaujau/spiellogik/Spiel.java +++ b/src/de/jaujau/spiellogik/Spiel.java @@ -1,5 +1,7 @@ package de.jaujau.spiellogik; +import java.util.Random; + import de.jaujau.daten.Farbe; import de.jaujau.daten.Kartensatz; import de.jaujau.daten.Spieler; @@ -11,51 +13,72 @@ import de.jaujau.daten.Wert; */ public class Spiel { - private Spieler spieler; private Spieler amZug; + private boolean spielgestartet = false; private boolean aussetzen; private boolean zwei_ziehen; private Kartensatz kartensatz; private void spiel() { - + if(spielgestartet) { + Random zufallszahl = new Random(); + int zahl = zufallszahl.nextInt(1); + if(zahl == 1) { + amZug = Spieler.SPIELER; + } + else { + amZug = Spieler.COMPUTER; + } + spielgestartet = true; + kartensatz.ablegen(zufallszahl.nextInt(31)); + return; + } + if(amZug == Spieler.SPIELER) { + amZug = Spieler.COMPUTER; + } + else { + amZug= Spieler.SPIELER; + } } - private void zug(Spieler name) { - - } - private boolean pruefeMoeglichkeitLegen(int Kartenindex) { //Nur Strukturüberlegung, WÜNSCHER? + /** + * @param kartenindex + */ + private void legen(int kartenindex) { //Nur Strukturüberlegung, WÜNSCHER? Farbe legenFarbe; Wert legenWert; Farbe liegtFarbe; Wert liegtWert; - legenFarbe = kartensatz.getKarte(Kartenindex).getFARBE(); - legenWert = kartensatz.getKarte(Kartenindex).getWERT(); + legenFarbe = kartensatz.getKarte(kartenindex).getFARBE(); + legenWert = kartensatz.getKarte(kartenindex).getWERT(); liegtFarbe = kartensatz.getKarte(kartensatz.getletzteKarte()).getFARBE(); liegtWert = kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT(); if(liegtWert == Wert.SIEBEN && legenWert == Wert.SIEBEN) { - return true; + kartensatz.ablegen(kartenindex); + spiel(); } if(liegtWert == Wert.ACHT && legenWert == Wert.ACHT) { - return true; + kartensatz.ablegen(kartenindex); + spiel(); } if(!aussetzen && !zwei_ziehen) { if(legenFarbe == liegtFarbe) { - return true; + kartensatz.ablegen(kartenindex); + spiel(); } if(legenWert == liegtWert) { - return true; + kartensatz.ablegen(kartenindex); + spiel(); } } - return false; } - private boolean pruefeMoeglichkeitZiehen(int Kartenindex) { + private void ziehen(int Kartenindex) { if(kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT() == Wert.ACHT) { - return false; + kartensatz.ziehen(amZug); + spiel(); } - return true; } }