This commit is contained in:
Fabian Keller
2020-12-03 11:20:12 +01:00
3 changed files with 24 additions and 26 deletions

View File

@@ -1,5 +1,5 @@
package de.jaujau.daten; package de.jaujau.daten;
public enum Ablageort { public enum Ablageort {
SPIELER, COMPUTER, ABLAGESTAPEL, ZIESTAPEL SPIELER, COMPUTER, ABLAGESTAPEL, ZIEHSTAPEL
} }

View File

@@ -20,7 +20,7 @@ public class Karte {
public Karte(Farbe f, Wert w) { public Karte(Farbe f, Wert w) {
FARBE = f; FARBE = f;
WERT = w; WERT = w;
Ablageort = de.jaujau.daten.Ablageort.ZIESTAPEL; Ablageort = de.jaujau.daten.Ablageort.ZIEHSTAPEL;
} }
/** /**
@@ -42,7 +42,6 @@ public class Karte {
/** /**
* Gibt den Ablageort der Karte zurück * Gibt den Ablageort der Karte zurück
* @return Ablageort der Karte * @return Ablageort der Karte
*
*/ */
public Ablageort getAblageort() { public Ablageort getAblageort() {
return Ablageort; return Ablageort;

View File

@@ -61,43 +61,42 @@ public class Kartensatz {
//!!!Es kann noch zu fehler kommen //!!!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 Ziehstapel 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 Ziehstapel sind werden alle Karten vom Ablagestabel auf den Ziehstapel verschoben
* @param spieler Spieler der die Karte auf die Hand bekommen soll * @param spieler Spieler der die Karte auf die Hand bekommen soll
*
*/ */
public boolean ziehen(Spieler spieler) { public boolean ziehen(Spieler spieler) {
//System.out.println("Start Ziehen"); //System.out.println("Start Ziehen");
//Ziestapel Prüfen //Ziehstapel Prüfen
int ZiestapelAnzahl = getZiestapelAnzahl(); int ZiehstapelAnzahl = getZiehstapelAnzahl();
if(ZiestapelAnzahl < 1) { if(ZiehstapelAnzahl < 1) {
//Alle Karten vom Ablagestapel ausßer letze auf den Ziestapel verschieben //Alle Karten vom Ablagestapel ausßer letze auf den Ziehstapel verschieben
for(int i = 0; i < 32; i++) { for(int i = 0; i < 32; i++) {
if((kartensatz[i].getAblageort() == Ablageort.ABLAGESTAPEL) && (i != letztekarte)) { if((kartensatz[i].getAblageort() == Ablageort.ABLAGESTAPEL) && (i != letztekarte)) {
kartensatz[i].setAblageort(Ablageort.ZIESTAPEL); kartensatz[i].setAblageort(Ablageort.ZIEHSTAPEL);
} }
} }
} }
ZiestapelAnzahl = getZiestapelAnzahl(); ZiehstapelAnzahl = getZiehstapelAnzahl();
//System.out.println("ZieStapel Anzahl " + ZiestapelAnzahl); //System.out.println("ZiehStapel Anzahl " + ZiehstapelAnzahl);
if(ZiestapelAnzahl > 0) { if(ZiehstapelAnzahl > 0) {
//Ziekarte bestimmen und //Ziekarte bestimmen und
//Zienummer auswählen //Zienummer auswählen
//System.out.println("Nummer wählen"); //System.out.println("Nummer wählen");
Random random = new Random(); Random random = new Random();
int auswahl = random.nextInt(ZiestapelAnzahl); int auswahl = random.nextInt(ZiehstapelAnzahl);
//System.out.println("Karte Ziehen " + auswahl); //System.out.println("Karte Ziehen " + auswahl);
//Wenn Karten auf dem Ziespabel verfügbar sind //Wenn Karten auf dem Ziehspabel verfügbar sind
int ZiestapelIndex = 0; int ZiehstapelIndex = 0;
for(int i = 0; i < 32; i++) { for(int i = 0; i < 32; i++) {
//System.out.println("ZielStapelIndex " + ZiestapelIndex); //System.out.println("ZielStapelIndex " + ZiehstapelIndex);
if(kartensatz[i].getAblageort() == Ablageort.ZIESTAPEL) { if(kartensatz[i].getAblageort() == Ablageort.ZIEHSTAPEL) {
//System.out.println("Suche " + auswahl + " ZieIndex " + ZiestapelIndex + " KartenIndex " + i); //System.out.println("Suche " + auswahl + " ZieIndex " + ZiehstapelIndex + " KartenIndex " + i);
if(auswahl == ZiestapelIndex) { if(auswahl == ZiehstapelIndex) {
//System.out.println("Ziehe Karte " + i + " " + kartensatz[i].toString()); //System.out.println("Ziehe Karte " + i + " " + kartensatz[i].toString());
//Karte im Ziestaple ist die die Ausgewählt wurde //Karte im Ziehstaple ist die die Ausgewählt wurde
if(spieler == Spieler.SPIELER) { if(spieler == Spieler.SPIELER) {
kartensatz[i].setAblageort(Ablageort.SPIELER); kartensatz[i].setAblageort(Ablageort.SPIELER);
} }
@@ -106,7 +105,7 @@ public class Kartensatz {
} }
return true; return true;
} }
ZiestapelIndex++; ZiehstapelIndex++;
} }
} }
@@ -208,14 +207,14 @@ public class Kartensatz {
//Funktion geprüft //Funktion geprüft
/** /**
* Dies Funktion Prüft ob sich auf dem Ziestapel noch mindestes eine Karte Befindet * Dies Funktion Prüft ob sich auf dem Ziehstapel noch mindestes eine Karte Befindet
* Wird nur Klassenintern Verwendet * 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 getZiehstapelAnzahl() {
int anzahl = 0; int anzahl = 0;
for(Karte karte: kartensatz) { for(Karte karte: kartensatz) {
if(karte.getAblageort() == Ablageort.ZIESTAPEL) { if(karte.getAblageort() == Ablageort.ZIEHSTAPEL) {
anzahl++; anzahl++;
} }
} }