Merge branch 'patch-1' of https://gitlab.imn.htwk-leipzig.de/weicker/inb1-a-jaujau.git into patch-1
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
package de.jaujau.daten;
|
||||
|
||||
public enum Ablageort {
|
||||
SPIELER, COMPUTER, ABLAGESTAPEL, ZIESTAPEL
|
||||
SPIELER, COMPUTER, ABLAGESTAPEL, ZIEHSTAPEL
|
||||
}
|
||||
|
@@ -20,7 +20,7 @@ public class Karte {
|
||||
public Karte(Farbe f, Wert w) {
|
||||
FARBE = f;
|
||||
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
|
||||
* @return Ablageort der Karte
|
||||
*
|
||||
*/
|
||||
public Ablageort getAblageort() {
|
||||
return Ablageort;
|
||||
|
@@ -61,43 +61,42 @@ public class Kartensatz {
|
||||
|
||||
//!!!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
|
||||
* 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 Ziehstapel sind werden alle Karten vom Ablagestabel auf den Ziehstapel verschoben
|
||||
* @param spieler Spieler der die Karte auf die Hand bekommen soll
|
||||
*
|
||||
*/
|
||||
public boolean ziehen(Spieler spieler) {
|
||||
//System.out.println("Start Ziehen");
|
||||
//Ziestapel Prüfen
|
||||
int ZiestapelAnzahl = getZiestapelAnzahl();
|
||||
if(ZiestapelAnzahl < 1) {
|
||||
//Alle Karten vom Ablagestapel ausßer letze auf den Ziestapel verschieben
|
||||
//Ziehstapel Prüfen
|
||||
int ZiehstapelAnzahl = getZiehstapelAnzahl();
|
||||
if(ZiehstapelAnzahl < 1) {
|
||||
//Alle Karten vom Ablagestapel ausßer letze auf den Ziehstapel verschieben
|
||||
for(int i = 0; i < 32; i++) {
|
||||
if((kartensatz[i].getAblageort() == Ablageort.ABLAGESTAPEL) && (i != letztekarte)) {
|
||||
kartensatz[i].setAblageort(Ablageort.ZIESTAPEL);
|
||||
kartensatz[i].setAblageort(Ablageort.ZIEHSTAPEL);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ZiestapelAnzahl = getZiestapelAnzahl();
|
||||
//System.out.println("ZieStapel Anzahl " + ZiestapelAnzahl);
|
||||
if(ZiestapelAnzahl > 0) {
|
||||
ZiehstapelAnzahl = getZiehstapelAnzahl();
|
||||
//System.out.println("ZiehStapel Anzahl " + ZiehstapelAnzahl);
|
||||
if(ZiehstapelAnzahl > 0) {
|
||||
//Ziekarte bestimmen und
|
||||
//Zienummer auswählen
|
||||
//System.out.println("Nummer wählen");
|
||||
Random random = new Random();
|
||||
int auswahl = random.nextInt(ZiestapelAnzahl);
|
||||
int auswahl = random.nextInt(ZiehstapelAnzahl);
|
||||
//System.out.println("Karte Ziehen " + auswahl);
|
||||
|
||||
//Wenn Karten auf dem Ziespabel verfügbar sind
|
||||
int ZiestapelIndex = 0;
|
||||
//Wenn Karten auf dem Ziehspabel verfügbar sind
|
||||
int ZiehstapelIndex = 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("ZielStapelIndex " + ZiehstapelIndex);
|
||||
if(kartensatz[i].getAblageort() == Ablageort.ZIEHSTAPEL) {
|
||||
//System.out.println("Suche " + auswahl + " ZieIndex " + ZiehstapelIndex + " KartenIndex " + i);
|
||||
if(auswahl == ZiehstapelIndex) {
|
||||
//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) {
|
||||
kartensatz[i].setAblageort(Ablageort.SPIELER);
|
||||
}
|
||||
@@ -106,7 +105,7 @@ public class Kartensatz {
|
||||
}
|
||||
return true;
|
||||
}
|
||||
ZiestapelIndex++;
|
||||
ZiehstapelIndex++;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -208,14 +207,14 @@ public class Kartensatz {
|
||||
|
||||
//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
|
||||
* @return true wenn keine Karten Vorhanden, false wenn kein Karte vorhanden
|
||||
*/
|
||||
private int getZiestapelAnzahl() {
|
||||
private int getZiehstapelAnzahl() {
|
||||
int anzahl = 0;
|
||||
for(Karte karte: kartensatz) {
|
||||
if(karte.getAblageort() == Ablageort.ZIESTAPEL) {
|
||||
if(karte.getAblageort() == Ablageort.ZIEHSTAPEL) {
|
||||
anzahl++;
|
||||
}
|
||||
}
|
||||
|
@@ -1,8 +1,9 @@
|
||||
package de.jaujau.spiellogik;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
import de.jaujau.daten.Farbe;
|
||||
import de.jaujau.daten.Kartensatz;
|
||||
import de.jaujau.daten.Spieler;
|
||||
import de.jaujau.daten.Wert;
|
||||
|
||||
|
||||
/**
|
||||
@@ -10,7 +11,51 @@ import de.jaujau.daten.Kartensatz;
|
||||
*/
|
||||
public class Spiel {
|
||||
|
||||
private Spieler spieler;
|
||||
private Spieler amZug;
|
||||
private boolean aussetzen;
|
||||
private boolean zwei_ziehen;
|
||||
private Kartensatz kartensatz;
|
||||
|
||||
private void spiel() {
|
||||
|
||||
}
|
||||
|
||||
private void zug(Spieler name) {
|
||||
|
||||
}
|
||||
|
||||
private boolean pruefeMoeglichkeitLegen(int Kartenindex) { //Nur Struktur<75>berlegung, W<>NSCHER?
|
||||
Farbe legenFarbe;
|
||||
Wert legenWert;
|
||||
Farbe liegtFarbe;
|
||||
Wert liegtWert;
|
||||
legenFarbe = kartensatz.getKarte(Kartenindex).getFARBE();
|
||||
legenWert = kartensatz.getKarte(Kartenindex).getWERT();
|
||||
liegtFarbe = kartensatz.getKarte(kartensatz.getletzteKarte()).getFARBE();
|
||||
liegtWert = kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT();
|
||||
|
||||
if(liegtWert == Wert.SIEBEN && legenWert == Wert.SIEBEN) {
|
||||
return true;
|
||||
}
|
||||
if(liegtWert == Wert.ACHT && legenWert == Wert.ACHT) {
|
||||
return true;
|
||||
}
|
||||
if(!aussetzen && !zwei_ziehen) {
|
||||
if(legenFarbe == liegtFarbe) {
|
||||
return true;
|
||||
}
|
||||
if(legenWert == liegtWert) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private boolean pruefeMoeglichkeitZiehen(int Kartenindex) {
|
||||
if(kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT() == Wert.ACHT) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user