Weiterentwicklung von legen(), ziehen() und erste Idee für spiel()

This commit is contained in:
Fabian Keller
2020-12-11 12:02:59 +01:00
parent 6c7abe979e
commit 12ed12e31e

View File

@@ -1,5 +1,7 @@
package de.jaujau.spiellogik; package de.jaujau.spiellogik;
import java.util.Random;
import de.jaujau.daten.Farbe; import de.jaujau.daten.Farbe;
import de.jaujau.daten.Kartensatz; import de.jaujau.daten.Kartensatz;
import de.jaujau.daten.Spieler; import de.jaujau.daten.Spieler;
@@ -11,51 +13,72 @@ import de.jaujau.daten.Wert;
*/ */
public class Spiel { public class Spiel {
private Spieler spieler;
private Spieler amZug; private Spieler amZug;
private boolean spielgestartet = false;
private boolean aussetzen; private boolean aussetzen;
private boolean zwei_ziehen; private boolean zwei_ziehen;
private Kartensatz kartensatz; private Kartensatz kartensatz;
private void spiel() { 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<75>berlegung, W<>NSCHER? /**
* @param kartenindex
*/
private void legen(int kartenindex) { //Nur Struktur<75>berlegung, W<>NSCHER?
Farbe legenFarbe; Farbe legenFarbe;
Wert legenWert; Wert legenWert;
Farbe liegtFarbe; Farbe liegtFarbe;
Wert liegtWert; Wert liegtWert;
legenFarbe = kartensatz.getKarte(Kartenindex).getFARBE(); legenFarbe = kartensatz.getKarte(kartenindex).getFARBE();
legenWert = kartensatz.getKarte(Kartenindex).getWERT(); legenWert = kartensatz.getKarte(kartenindex).getWERT();
liegtFarbe = kartensatz.getKarte(kartensatz.getletzteKarte()).getFARBE(); liegtFarbe = kartensatz.getKarte(kartensatz.getletzteKarte()).getFARBE();
liegtWert = kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT(); liegtWert = kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT();
if(liegtWert == Wert.SIEBEN && legenWert == Wert.SIEBEN) { if(liegtWert == Wert.SIEBEN && legenWert == Wert.SIEBEN) {
return true; kartensatz.ablegen(kartenindex);
spiel();
} }
if(liegtWert == Wert.ACHT && legenWert == Wert.ACHT) { if(liegtWert == Wert.ACHT && legenWert == Wert.ACHT) {
return true; kartensatz.ablegen(kartenindex);
spiel();
} }
if(!aussetzen && !zwei_ziehen) { if(!aussetzen && !zwei_ziehen) {
if(legenFarbe == liegtFarbe) { if(legenFarbe == liegtFarbe) {
return true; kartensatz.ablegen(kartenindex);
spiel();
} }
if(legenWert == liegtWert) { 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) { if(kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT() == Wert.ACHT) {
return false; kartensatz.ziehen(amZug);
spiel();
} }
return true;
} }
} }