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
|
* 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
|
* @return String mit den Karten Eigenschaften
|
||||||
*/
|
*/
|
||||||
@Override
|
@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
|
* 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
|
* 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
|
* @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
|
//Ziestapel Prüfen
|
||||||
int ZiestapelAnzahl = getZiestapelAnzahl();
|
int ZiestapelAnzahl = getZiestapelAnzahl();
|
||||||
if(ZiestapelAnzahl < 1) {
|
if(ZiestapelAnzahl < 1) {
|
||||||
//Karten vom Ablagestapel auf den Ziestapel verschieben
|
//Alle Karten vom Ablagestapel ausßer letze auf den Ziestapel verschieben
|
||||||
for(Karte karte: kartensatz) {
|
for(int i = 0; i < 32; i++) {
|
||||||
if(karte.getAblageort() == Ablageort.ABLAGESTAPEL) {
|
if((kartensatz[i].getAblageort() == Ablageort.ABLAGESTAPEL) && (i != letztekarte)) {
|
||||||
karte.setAblageort(Ablageort.ZIESTAPEL);
|
kartensatz[i].setAblageort(Ablageort.ZIESTAPEL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//Zienummer auswählen
|
ZiestapelAnzahl = getZiestapelAnzahl();
|
||||||
Random random = new Random();
|
//System.out.println("ZieStapel Anzahl " + ZiestapelAnzahl);
|
||||||
int auswahl = random.nextInt(ZiestapelAnzahl);
|
if(ZiestapelAnzahl > 0) {
|
||||||
System.out.println(auswahl);
|
//Ziekarte bestimmen und
|
||||||
|
//Zienummer auswählen
|
||||||
//Ziekarte bestimmen und
|
//System.out.println("Nummer wählen");
|
||||||
int ZiestapelIndex = 0;
|
Random random = new Random();
|
||||||
for(Karte karte: kartensatz) {
|
int auswahl = random.nextInt(ZiestapelAnzahl);
|
||||||
if(karte.getAblageort() == Ablageort.ZIESTAPEL) {
|
//System.out.println("Karte Ziehen " + auswahl);
|
||||||
if(auswahl == ZiestapelIndex) {
|
|
||||||
//Karte im Ziestaple ist die die Ausgewählt wurde
|
|
||||||
if(spieler == Spieler.SPIELER) {
|
|
||||||
karte.setAblageort(Ablageort.SPIELER);
|
|
||||||
}
|
|
||||||
if(spieler == Spieler.COMPUTER) {
|
|
||||||
karte.setAblageort(Ablageort.COMPUTER);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ZiestapelIndex++;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
//Wenn Karten auf dem Ziespabel verfügbar sind
|
||||||
|
int ZiestapelIndex = 0;
|
||||||
|
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) {
|
||||||
|
kartensatz[i].setAblageort(Ablageort.SPIELER);
|
||||||
|
}
|
||||||
|
if(spieler == Spieler.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) {
|
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
|
* 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
|
* @return true wenn keine Karten Vorhanden, false wenn kein Karte vorhanden
|
||||||
*/
|
*/
|
||||||
private int getZiestapelAnzahl() {
|
private int getZiestapelAnzahl() {
|
||||||
|
Reference in New Issue
Block a user