Implementierung der PruefeZug Funktion
This commit is contained in:
@@ -2,6 +2,13 @@ package de.jaujau.spiellogik;
|
|||||||
|
|
||||||
import de.jaujau.daten.Kartensatz;
|
import de.jaujau.daten.Kartensatz;
|
||||||
import de.jaujau.daten.Spielerdaten;
|
import de.jaujau.daten.Spielerdaten;
|
||||||
|
import de.jaujau.daten.Wert;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
import de.jaujau.daten.Farbe;
|
||||||
|
import de.jaujau.daten.Karte;
|
||||||
|
import de.jaujau.daten.Spieler;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -42,12 +49,46 @@ public class Spielzug {
|
|||||||
}*/
|
}*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Funktion untersucht, ob der aktuelle Spieler aussetzen oder ziehen muss oder legen kann
|
* Funktion untersucht, ob die Karte die der Spieler zu legen verusucht auch gelegt werden kann
|
||||||
* @return void
|
* Sollte der Spieler gerade aussetzen m<>ssen, kann nur eine 8 gelegt werden
|
||||||
|
* Muss der Spieler zwei Karten ziehen, kann nur eine 7 gelegt werden
|
||||||
|
* Gilt nichts von beidem muss die Karte zur vorhergelegten passen
|
||||||
|
* @param kartenindex Index der Karte die gelegt werden soll
|
||||||
|
* @return boolean
|
||||||
*/
|
*/
|
||||||
public boolean pruefeZug(int kartenindex) {
|
public boolean pruefeZug(int kartenindex) {
|
||||||
|
Farbe kartenfarbe = Spiel.kartensatz.getKarte(kartenindex).getFARBE();
|
||||||
return true;
|
Wert kartenwert = Spiel.kartensatz.getKarte(kartenindex).getWERT();
|
||||||
|
Wert letztekartewert = Spiel.kartensatz.getKarte(Spiel.kartensatz.getletzteKarte()).getWERT();
|
||||||
|
Farbe letztekartefarbe = Spiel.kartensatz.getKarte(Spiel.kartensatz.getletzteKarte()).getFARBE();
|
||||||
|
if(Spiel.getAussetzen() && kartenwert == Wert.ACHT) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else if (Spiel.getZweiZiehen() && kartenwert == Wert.SIEBEN) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else if (!Spiel.getAussetzen() && !Spiel.getZweiZiehen() && (kartenwert == letztekartewert || kartenfarbe == letztekartefarbe || kartenwert == Wert.BUBE)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Pr<50>ft, ob der Spieler eine Karte legen kann, indem jede Karte in der Hand des Spielers mit der Funktion pruefeZug gepr<70>ft wird
|
||||||
|
* @param spieler Spieler, der am Zug ist und dessen Hand
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public boolean zugMoeglich(Spieler spieler) {
|
||||||
|
boolean gefunden = false;
|
||||||
|
ArrayList<Integer> Hand = Spiel.kartensatz.getHand(spieler);
|
||||||
|
for (int i = 0; i < Hand.size(); i++) {
|
||||||
|
if (pruefeZug(i)) {
|
||||||
|
gefunden = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return gefunden;
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
Reference in New Issue
Block a user