Erste Kommentierung, hinzufügen von zugMoeglich()
This commit is contained in:
@@ -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 {
|
public class Spiel {
|
||||||
|
|
||||||
@@ -17,10 +18,17 @@ public class Spiel {
|
|||||||
private boolean spielgestartet = false;
|
private boolean spielgestartet = false;
|
||||||
private boolean aussetzen;
|
private boolean aussetzen;
|
||||||
private boolean zwei_ziehen;
|
private boolean zwei_ziehen;
|
||||||
|
private int kartenZiehen;
|
||||||
private Kartensatz kartensatz;
|
private Kartensatz kartensatz;
|
||||||
|
private Farbe gelegteFarbe;
|
||||||
|
private Wert gelegterWert;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* alterniert zwischen Spieler und Computer und legt Beginner fest
|
||||||
|
*/
|
||||||
private void spiel() {
|
private void spiel() {
|
||||||
if(spielgestartet) {
|
if(!spielgestartet) { //Starter durch zufall bestimmen
|
||||||
Random zufallszahl = new Random();
|
Random zufallszahl = new Random();
|
||||||
int zahl = zufallszahl.nextInt(1);
|
int zahl = zufallszahl.nextInt(1);
|
||||||
if(zahl == 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
|
* @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;
|
Farbe legenFarbe;
|
||||||
Wert legenWert;
|
Wert legenWert;
|
||||||
Farbe liegtFarbe;
|
|
||||||
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();
|
|
||||||
liegtWert = kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT();
|
|
||||||
|
|
||||||
if(liegtWert == Wert.SIEBEN && legenWert == Wert.SIEBEN) {
|
if(zwei_ziehen && legenWert == Wert.SIEBEN) {
|
||||||
kartensatz.ablegen(kartenindex);
|
kartensatz.ablegen(kartenindex);
|
||||||
spiel();
|
spiel();
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
if(liegtWert == Wert.ACHT && legenWert == Wert.ACHT) {
|
if(aussetzen && legenWert == Wert.ACHT) {
|
||||||
kartensatz.ablegen(kartenindex);
|
kartensatz.ablegen(kartenindex);
|
||||||
spiel();
|
spiel();
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
if(!aussetzen && !zwei_ziehen) {
|
if(!aussetzen && !zwei_ziehen) {
|
||||||
if(legenFarbe == liegtFarbe) {
|
if(legenFarbe == gelegteFarbe) {
|
||||||
kartensatz.ablegen(kartenindex);
|
kartensatz.ablegen(kartenindex);
|
||||||
spiel();
|
spiel();
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
if(legenWert == liegtWert) {
|
if(legenWert == gelegterWert) {
|
||||||
kartensatz.ablegen(kartenindex);
|
kartensatz.ablegen(kartenindex);
|
||||||
spiel();
|
spiel();
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(aussetzen) {
|
||||||
|
spiel();
|
||||||
|
aussetzen = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ziehen(int Kartenindex) {
|
|
||||||
if(kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT() == Wert.ACHT) {
|
/**
|
||||||
kartensatz.ziehen(amZug);
|
* 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();
|
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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user