Erste Kommentierung, hinzufügen von zugMoeglich()

This commit is contained in:
Fabian Keller
2020-12-12 15:52:50 +01:00
parent 9a28416b22
commit 75e15aa002

View File

@@ -9,7 +9,8 @@ import de.jaujau.daten.Wert;
/**
* Class Spiel
* Diese Klasse pr<70>ft die Spielaktionen und alterniert zwischen Spieler und Computer
* @author Fabian Keller
*/
public class Spiel {
@@ -17,10 +18,17 @@ public class Spiel {
private boolean spielgestartet = false;
private boolean aussetzen;
private boolean zwei_ziehen;
private int kartenZiehen;
private Kartensatz kartensatz;
private Farbe gelegteFarbe;
private Wert gelegterWert;
/**
* alterniert zwischen Spieler und Computer und legt Beginner fest
*/
private void spiel() {
if(spielgestartet) {
if(!spielgestartet) { //Starter durch zufall bestimmen
Random zufallszahl = new Random();
int zahl = zufallszahl.nextInt(1);
if(zahl == 1) {
@@ -43,42 +51,80 @@ public class Spiel {
/**
* pr<70>ft ob eine Karte mit einem bestimmten Kartenindex gelegt werden kann
* @param kartenindex
*/
private void legen(int kartenindex) { //Nur Struktur<75>berlegung, W<>NSCHER?
private void karteLegen(int kartenindex) { //Nur Struktur<75>berlegung, W<>NSCHER?
zugMoeglich();
Farbe legenFarbe;
Wert legenWert;
Farbe liegtFarbe;
Wert liegtWert;
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) {
if(zwei_ziehen && legenWert == Wert.SIEBEN) {
kartensatz.ablegen(kartenindex);
spiel();
return;
}
if(liegtWert == Wert.ACHT && legenWert == Wert.ACHT) {
if(aussetzen && legenWert == Wert.ACHT) {
kartensatz.ablegen(kartenindex);
spiel();
return;
}
if(!aussetzen && !zwei_ziehen) {
if(legenFarbe == liegtFarbe) {
if(legenFarbe == gelegteFarbe) {
kartensatz.ablegen(kartenindex);
spiel();
return;
}
if(legenWert == liegtWert) {
if(legenWert == gelegterWert) {
kartensatz.ablegen(kartenindex);
spiel();
return;
}
}
if(aussetzen) {
spiel();
aussetzen = false;
}
}
private void ziehen(int Kartenindex) {
if(kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT() == Wert.ACHT) {
/**
* pr<70>ft ob eine Karte gezogen werden kann
*/
private void karteZiehen(){
zugMoeglich();
if(zwei_ziehen) {
for(int i = 0; i < kartenZiehen; i++) {
kartensatz.ziehen(amZug);
}
spiel();
kartenZiehen = 0;
zwei_ziehen = false;
}
if(aussetzen) {
spiel();
aussetzen = false;
}
}
/**
* pr<70>ft ob ein Zug <20>berhaupt m<>glich ist und lie<69>t Werte zum weiterarbeiten ein
*/
private void zugMoeglich() {
gelegteFarbe = kartensatz.getKarte(kartensatz.getletzteKarte()).getFARBE();
gelegterWert = kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT();
if(gelegterWert == Wert.ACHT) {
aussetzen = true;
}
else {
aussetzen = false;
}
if(gelegterWert == Wert.SIEBEN) {
zwei_ziehen = true;
kartenZiehen += 2;
}
}
}