This commit is contained in:
Sebastian Kacza
2020-12-14 18:53:56 +01:00
2 changed files with 45 additions and 36 deletions

View File

@@ -22,23 +22,32 @@ public class Spiel {
private Kartensatz kartensatz;
private Farbe gelegteFarbe;
private Wert gelegterWert;
private Spielzug spielzug;
/**
* alterniert zwischen Spieler und Computer und legt Beginner fest
*/
private void spiel() {
if(!spielgestartet) { //Starter durch zufall bestimmen
if(!spielgestartet) {
Random zufallszahl = new Random();
int zahl = zufallszahl.nextInt(1);
if(zahl == 1) {
if(zahl == 1) { //Starter durch zufall bestimmen
amZug = Spieler.SPIELER;
}
else {
amZug = Spieler.COMPUTER;
}
spielgestartet = true;
kartensatz.ablegen(zufallszahl.nextInt(31));
for(int i = 0; i < 7; i++) { //Jeder bekommt 7 Karten
kartensatz.ziehen(Spieler.COMPUTER);
kartensatz.ziehen(Spieler.SPIELER);
}
int kartenindex = zufallszahl.nextInt(31);
while(kartensatz.getHand(Spieler.COMPUTER).contains(kartenindex)||kartensatz.getHand(Spieler.SPIELER).contains(kartenindex)) {
kartenindex = zufallszahl.nextInt(31);
}
kartensatz.ablegen(kartenindex); //nicht in der Hand befindliche Karte zum Start aufdecken
return;
}
if(amZug == Spieler.SPIELER) {
@@ -56,36 +65,8 @@ public class Spiel {
*/
private void karteLegen(int kartenindex) { //Nur Struktur<75>berlegung, W<>NSCHER?
zugMoeglich();
Farbe legenFarbe;
Wert legenWert;
legenFarbe = kartensatz.getKarte(kartenindex).getFARBE();
legenWert = kartensatz.getKarte(kartenindex).getWERT();
if(zwei_ziehen && legenWert == Wert.SIEBEN) {
if (spielzug.pruefeZug(kartenindex)) {
kartensatz.ablegen(kartenindex);
spiel();
return;
}
if(aussetzen && legenWert == Wert.ACHT) {
kartensatz.ablegen(kartenindex);
spiel();
return;
}
if(!aussetzen && !zwei_ziehen) {
if(legenFarbe == gelegteFarbe) {
kartensatz.ablegen(kartenindex);
spiel();
return;
}
if(legenWert == gelegterWert) {
kartensatz.ablegen(kartenindex);
spiel();
return;
}
}
if(aussetzen) {
spiel();
aussetzen = false;
}
}

View File

@@ -12,14 +12,42 @@ public class Spielzug {
//
// Fields
//
/*
if(zwei_ziehen && legenWert == Wert.SIEBEN) {
kartensatz.ablegen(kartenindex);
spiel();
return;
}
if(aussetzen && legenWert == Wert.ACHT) {
kartensatz.ablegen(kartenindex);
spiel();
return;
}
if(!aussetzen && !zwei_ziehen) {
if(legenFarbe == gelegteFarbe) {
kartensatz.ablegen(kartenindex);
spiel();
return;
}
if(legenWert == gelegterWert) {
kartensatz.ablegen(kartenindex);
spiel();
return;
}
}
if(aussetzen) {
spiel();
aussetzen = false;
}*/
/**
* Funktion untersucht, ob der aktuelle Spieler aussetzen oder ziehen muss oder legen kann
* @return void
*/
private void zugPr<EFBFBD>fen(spieler) {
if (Spiel.aussetzen == true) {
}
public boolean pruefeZug(int kartenindex) {
return true;
}
//