Klasse Karte fertig, Klasse Kartensatz teilweise fertig
This commit is contained in:
@@ -57,7 +57,7 @@ public class Karte {
|
||||
|
||||
/**
|
||||
* Gibt die Eigenschaften der Karte aus Text aus
|
||||
* Diese Methode dient zum Testen der Funktion
|
||||
* !!!Diese Methode ist nur für Debug-Ausgaben notwendig und kann Später entfernt werden!!!
|
||||
* @return String mit den Karten Eigenschaften
|
||||
*/
|
||||
@Override
|
||||
|
@@ -58,48 +58,62 @@ public class Kartensatz {
|
||||
|
||||
}
|
||||
|
||||
//!!!Funktioniert noch nicht
|
||||
//!!!Es kann noch zu fehler kommen
|
||||
/**
|
||||
* Zieht eine Zufällige karte aus dem Ziestapel für einen bestimmten Spieler und gibt den Karten dem Spieler auf die Hand
|
||||
* Wenn keine Karten mehr auf dem Ziestapel sind werden alle Karten vom Ablagestabel auf den Ziestapel verschoben
|
||||
* @param spieler Spieler der die Karte auf die Hand bekommen soll
|
||||
*/
|
||||
public void ziehen(Spieler spieler) {
|
||||
public boolean ziehen(Spieler spieler) {
|
||||
//System.out.println("Start Ziehen");
|
||||
//Ziestapel Prüfen
|
||||
int ZiestapelAnzahl = getZiestapelAnzahl();
|
||||
if(ZiestapelAnzahl < 1) {
|
||||
//Karten vom Ablagestapel auf den Ziestapel verschieben
|
||||
for(Karte karte: kartensatz) {
|
||||
if(karte.getAblageort() == Ablageort.ABLAGESTAPEL) {
|
||||
karte.setAblageort(Ablageort.ZIESTAPEL);
|
||||
//Alle Karten vom Ablagestapel ausßer letze auf den Ziestapel verschieben
|
||||
for(int i = 0; i < 32; i++) {
|
||||
if((kartensatz[i].getAblageort() == Ablageort.ABLAGESTAPEL) && (i != letztekarte)) {
|
||||
kartensatz[i].setAblageort(Ablageort.ZIESTAPEL);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ZiestapelAnzahl = getZiestapelAnzahl();
|
||||
//System.out.println("ZieStapel Anzahl " + ZiestapelAnzahl);
|
||||
if(ZiestapelAnzahl > 0) {
|
||||
//Ziekarte bestimmen und
|
||||
//Zienummer auswählen
|
||||
//System.out.println("Nummer wählen");
|
||||
Random random = new Random();
|
||||
int auswahl = random.nextInt(ZiestapelAnzahl);
|
||||
System.out.println(auswahl);
|
||||
//System.out.println("Karte Ziehen " + auswahl);
|
||||
|
||||
//Ziekarte bestimmen und
|
||||
//Wenn Karten auf dem Ziespabel verfügbar sind
|
||||
int ZiestapelIndex = 0;
|
||||
for(Karte karte: kartensatz) {
|
||||
if(karte.getAblageort() == Ablageort.ZIESTAPEL) {
|
||||
for(int i = 0; i < 32; i++) {
|
||||
//System.out.println("ZielStapelIndex " + ZiestapelIndex);
|
||||
if(kartensatz[i].getAblageort() == Ablageort.ZIESTAPEL) {
|
||||
//System.out.println("Suche " + auswahl + " ZieIndex " + ZiestapelIndex + " KartenIndex " + i);
|
||||
if(auswahl == ZiestapelIndex) {
|
||||
//System.out.println("Ziehe Karte " + i + " " + kartensatz[i].toString());
|
||||
//Karte im Ziestaple ist die die Ausgewählt wurde
|
||||
if(spieler == Spieler.SPIELER) {
|
||||
karte.setAblageort(Ablageort.SPIELER);
|
||||
kartensatz[i].setAblageort(Ablageort.SPIELER);
|
||||
}
|
||||
if(spieler == Spieler.COMPUTER) {
|
||||
karte.setAblageort(Ablageort.COMPUTER);
|
||||
kartensatz[i].setAblageort(Ablageort.COMPUTER);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
ZiestapelIndex++;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
else {
|
||||
System.out.println("Keine Karten zum ziehen verfügbar!");
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -142,7 +156,7 @@ public class Kartensatz {
|
||||
|
||||
}
|
||||
|
||||
//Kommt noch
|
||||
//Methode kommt noch
|
||||
public void SetWunschfarbe(Farbe farbe) {
|
||||
|
||||
}
|
||||
@@ -150,6 +164,7 @@ public class Kartensatz {
|
||||
|
||||
/**
|
||||
* Dies Funktion Prüft ob sich auf dem Ziestapel noch mindestes eine Karte Befindet
|
||||
* Wird nur Klassenintern Verwendet
|
||||
* @return true wenn keine Karten Vorhanden, false wenn kein Karte vorhanden
|
||||
*/
|
||||
private int getZiestapelAnzahl() {
|
||||
|
Reference in New Issue
Block a user