This commit is contained in:
mokoe
2020-12-14 00:34:52 +01:00
23 changed files with 1273 additions and 426 deletions

View File

@@ -2,5 +2,6 @@
<classpath> <classpath>
<classpathentry kind="src" path="src"/> <classpathentry kind="src" path="src"/>
<classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> <classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/5"/>
<classpathentry kind="output" path="bin"/> <classpathentry kind="output" path="bin"/>
</classpath> </classpath>

View File

@@ -14,4 +14,15 @@
<natures> <natures>
<nature>org.eclipse.jdt.core.javanature</nature> <nature>org.eclipse.jdt.core.javanature</nature>
</natures> </natures>
<filteredResources>
<filter>
<id>1606897925456</id>
<name></name>
<type>30</type>
<matcher>
<id>org.eclipse.core.resources.regexFilterMatcher</id>
<arguments>node_modules|.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__</arguments>
</matcher>
</filter>
</filteredResources>
</projectDescription> </projectDescription>

View File

@@ -0,0 +1,98 @@
package de.jaujau.UnitTests;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import de.jaujau.daten.Farbe;
import de.jaujau.daten.Kartensatz;
import de.jaujau.daten.Spieler;
class TEST_Kartensatz {
private Kartensatz satz;
@BeforeEach
public void Setup() {
satz = new Kartensatz();
assertNotNull(satz);
}
@Test
void ziehenSpieler() {
for(int i = 0; i < 32; i++) {
//Spieler hat zu angang keine Karten auf der Hand
assertTrue(satz.getHand(Spieler.SPIELER).size()==i);
//Karte Ziehen
assertTrue(satz.ziehen(Spieler.SPIELER));
//Spieler hat eine Karte auf der Hand
assertTrue(satz.getHand(Spieler.SPIELER).size()==i+1);
}
}
@Test
void ziehenComputer() {
for(int i = 0; i < 32; i++) {
//Computer hat zu angang keine Karten auf der Hand
assertTrue(satz.getHand(Spieler.SPIELER).size()==i);
//Karte Ziehen
assertTrue(satz.ziehen(Spieler.SPIELER));
//Computer hat eine Karte auf der Hand
assertTrue(satz.getHand(Spieler.SPIELER).size()==i+1);
}
}
@Test
void WunschfarbeSetzen() {
satz.SetWunschfarbe(Farbe.HERZ);
assertTrue(satz.getKarte(satz.getletzteKarte()).getFARBE()==Farbe.HERZ);
satz.SetWunschfarbe(Farbe.KARO);
assertTrue(satz.getKarte(satz.getletzteKarte()).getFARBE()==Farbe.KARO);
satz.SetWunschfarbe(Farbe.KREUZ);
assertTrue(satz.getKarte(satz.getletzteKarte()).getFARBE()==Farbe.KREUZ);
satz.SetWunschfarbe(Farbe.PIK);
assertTrue(satz.getKarte(satz.getletzteKarte()).getFARBE()==Farbe.PIK);
}
@Test
void legeKarte() {
//Kein Spieler hat ein Karte
assertTrue(satz.getHand(Spieler.SPIELER).size()==0);
assertTrue(satz.getHand(Spieler.COMPUTER).size()==0);
//Computer und Spieler Zihen jeweils eine Karte
assertTrue(satz.ziehen(Spieler.SPIELER));
assertTrue(satz.ziehen(Spieler.COMPUTER));
//Jetzt muss jeder Spieler ein KArte auf der Hand haben
assertTrue(satz.getHand(Spieler.SPIELER).size()==1);
assertTrue(satz.getHand(Spieler.COMPUTER).size()==1);
//KartenIndex der Spieler auslesen
int karteSpieler = satz.getHand(Spieler.SPIELER).get(0);
int karteComputer = satz.getHand(Spieler.COMPUTER).get(0);
//Die Karten drüfen nicht gleich sein
assertTrue(karteSpieler != karteComputer);
//Spieler legt Karte auf Ablagestapel
satz.ablegen(karteSpieler);
assertTrue(karteSpieler == satz.getletzteKarte());
assertTrue(satz.getHand(Spieler.SPIELER).size()==0);
//Computer legt Karte auf Ablagestapel
satz.ablegen(karteComputer);
assertTrue(karteComputer == satz.getletzteKarte());
assertTrue(satz.getHand(Spieler.COMPUTER).size()==0);
}
}

View File

@@ -0,0 +1,49 @@
package de.jaujau.UnitTests;
import static org.junit.jupiter.api.Assertions.*;
import java.awt.Image;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import de.jaujau.daten.Texturenpaket;
class TEST_Texturenpaket {
private Texturenpaket paket;
@BeforeEach
void setUp() throws Exception {
}
@Test
void FehlerFreiesPaketLaden() {
paket = new Texturenpaket("/home/sebastian/testpaket.zip");
assertTrue(paket.ladePacket());
System.out.println("Name des Texturen Paketes: " + paket.getName());
System.out.println("Level des Texturen Paketes: " + paket.getLevel());
}
@Test
void FehlerHaftesPaketLaden() {
paket = new Texturenpaket("/home/sebastian/testpaket_fehler.zip");
assertFalse(paket.ladePacket());
System.out.println("Name des Fehlerhaften Texturen Paketes: " + paket.getName());
System.out.println("Level des Fehlerhaften Texturen Paketes: " + paket.getLevel());
}
@Test
void TexturenAusgeben() {
paket = new Texturenpaket("/home/sebastian/testpaket.zip");
assertTrue(paket.ladePacket());
Image Bilder[] = paket.getTexturen();
for(int i = 0; i < 32; i++) {
assertTrue(Bilder[i] != null);
}
}
}

View File

@@ -0,0 +1,33 @@
package de.jaujau.UnitTests;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import de.jaujau.daten.Texturenpakete;
class TEST_Texturenpakete {
private Texturenpakete pakete;
@BeforeEach
void setUp() throws Exception {
pakete = new Texturenpakete();
}
@Test
void test() {
assertTrue(pakete.getAnzahlPakete()==0);
assertTrue(pakete.addPaket("/home/sebastian/testpaket.zip"));
assertTrue(pakete.getAnzahlPakete()==1);
assertTrue(pakete.setAktivesPaket(0));
assertTrue(pakete.getAktivesPaket()==0);
System.out.println(pakete.getName(0));
System.out.println(pakete.getName(0));
for(int i = 0; i < 32; i++) {
assertTrue(pakete.getTextur(i)!=null);
}
}
}

View File

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

5
src/de/jaujau/daten/Farbe.java Executable file
View File

@@ -0,0 +1,5 @@
package de.jaujau.daten;
public enum Farbe {
PIK, KREUZ, HERZ, KARO
}

View File

@@ -1,14 +1,68 @@
package de.jaujau.daten; package de.jaujau.daten;
import java.util.*;
/** /**
* Class Karte * Klasse Karte
* Verwaltet die Daten einer Spielkarte
* @author Sebastian Kacza
*/ */
public class Karte { public class Karte {
private final Farbe FARBE;
private final Wert WERT;
private Ablageort Ablageort;
/**
* Konstruktor für die Klasse Karte
* Ablageort dird Standartmäßig auf Zielstapel gestezt
* @param f Farbe der Karte
* @param w Wert der Karte
*/
public Karte(Farbe f, Wert w) {
FARBE = f;
WERT = w;
Ablageort = de.jaujau.daten.Ablageort.ZIEHSTAPEL;
}
/**
* Gibt die Farbe der Karte zurück
* @return Farbe der Karte
*/
public Farbe getFARBE() {
return FARBE;
}
/**
* Gibt den Wert einer Karte zurück
* @return Wert der Karte
*/
public Wert getWERT() {
return WERT;
}
/**
* Gibt den Ablageort der Karte zurück
* @return Ablageort der Karte
*/
public Ablageort getAblageort() {
return Ablageort;
}
/**
* Ändert den Ablageoert der Karte
* @param ablageort Neuer Ablageort der Karte
*/
public void setAblageort(Ablageort ablageort) {
Ablageort = ablageort;
}
/**
* Gibt die Eigenschaften der Karte aus Text aus
* !!!Diese Methode ist nur für Debug-Ausgaben notwendig und kann Später entfernt werden!!!
* @return String mit den Karten Eigenschaften
*/
@Override
public String toString() {
return "Karte [FARBE=" + FARBE + ", WERT=" + WERT + ", Ablageort=" + Ablageort + "]";
}
} }

View File

@@ -1,14 +1,222 @@
package de.jaujau.daten; package de.jaujau.daten;
import java.util.*; import java.util.ArrayList;
import java.util.Random;
/** /**
* Class Kartensatz * Diese Klasse Verwaltet den Kartensatz
* @author Sebastian Kacza
*/ */
public class Kartensatz { public class Kartensatz {
public Karte kartensatz[];
int letztekarte;
/**
* Konstruktor für den Kartensatz
* Erstellt einen Neuen Kartensatz mit 32 Karten in einem Array
* Die Karten haben dabei die Reihenfolge eines Standart Skat Blattes
*/
public Kartensatz() {
letztekarte = 0;
kartensatz = new Karte[32];
//Standart Skat Kartensatz erstellen
kartensatz[0] = new Karte(Farbe.KARO, Wert.SIEBEN);
kartensatz[1] = new Karte(Farbe.KARO, Wert.ACHT);
kartensatz[2] = new Karte(Farbe.KARO, Wert.NEUN);
kartensatz[3] = new Karte(Farbe.KARO, Wert.ZEHN);
kartensatz[4] = new Karte(Farbe.KARO, Wert.BUBE);
kartensatz[5] = new Karte(Farbe.KARO, Wert.DAME);
kartensatz[6] = new Karte(Farbe.KARO, Wert.KOENING);
kartensatz[7] = new Karte(Farbe.KARO, Wert.ASS);
kartensatz[8] = new Karte(Farbe.HERZ, Wert.SIEBEN);
kartensatz[9] = new Karte(Farbe.HERZ, Wert.ACHT);
kartensatz[10] = new Karte(Farbe.HERZ, Wert.NEUN);
kartensatz[11] = new Karte(Farbe.HERZ, Wert.ZEHN);
kartensatz[12] = new Karte(Farbe.HERZ, Wert.BUBE);
kartensatz[13] = new Karte(Farbe.HERZ, Wert.DAME);
kartensatz[14] = new Karte(Farbe.HERZ, Wert.KOENING);
kartensatz[15] = new Karte(Farbe.HERZ, Wert.ASS);
kartensatz[16] = new Karte(Farbe.PIK, Wert.SIEBEN);
kartensatz[17] = new Karte(Farbe.PIK, Wert.ACHT);
kartensatz[18] = new Karte(Farbe.PIK, Wert.NEUN);
kartensatz[19] = new Karte(Farbe.PIK, Wert.ZEHN);
kartensatz[20] = new Karte(Farbe.PIK, Wert.BUBE);
kartensatz[21] = new Karte(Farbe.PIK, Wert.DAME);
kartensatz[22] = new Karte(Farbe.PIK, Wert.KOENING);
kartensatz[23] = new Karte(Farbe.PIK, Wert.ASS);
kartensatz[24] = new Karte(Farbe.KREUZ, Wert.SIEBEN);
kartensatz[25] = new Karte(Farbe.KREUZ, Wert.ACHT);
kartensatz[26] = new Karte(Farbe.KREUZ, Wert.NEUN);
kartensatz[27] = new Karte(Farbe.KREUZ, Wert.ZEHN);
kartensatz[28] = new Karte(Farbe.KREUZ, Wert.BUBE);
kartensatz[29] = new Karte(Farbe.KREUZ, Wert.DAME);
kartensatz[30] = new Karte(Farbe.KREUZ, Wert.KOENING);
kartensatz[31] = new Karte(Farbe.KREUZ, Wert.ASS);
}
/**
* 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");
//Ziehstapel Prüfen
int ZiehstapelAnzahl = getZiehstapelAnzahl(); //ZiehstapelAnzahl könte durch direckten Medoden aufruf ersetzt werden????
if(ZiehstapelAnzahl < 1) { //ZiehstapelAnzahl könte durch direckten Medoden aufruf ersetzt werden????
//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.ZIEHSTAPEL);
}
}
}
ZiehstapelAnzahl = getZiehstapelAnzahl(); //ZiehstapelAnzahl könte durch direckten Medoden aufruf ersetzt werden????
//System.out.println("ZiehStapel Anzahl " + ZiehstapelAnzahl);
if(ZiehstapelAnzahl > 0) { //ZiehstapelAnzahl könte durch direckten Medoden aufruf ersetzt werden????
//Ziekarte bestimmen und
//Zienummer auswählen
//System.out.println("Nummer wählen");
Random random = new Random();
int auswahl = random.nextInt(ZiehstapelAnzahl); //ZiehstapelAnzahl könte durch direckten Medoden aufruf ersetzt werden????
//System.out.println("Karte Ziehen " + auswahl);
//Wenn Karten auf dem Ziehspabel verfügbar sind
int ZiehstapelIndex = 0;
for(int i = 0; i < 32; i++) {
//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 Ziehstaple 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;
}
ZiehstapelIndex++;
}
}
}
else {
System.out.println("Keine Karten zum ziehen verfügbar!");
return false;
}
return false;
}
/**
* legt die Karte mit der KartenID x auf den Ablagestapel
* Speicher die KartenID der zuletzgelegt Karte in "letztekarte"
* @param kartenid ID der Karte die Abgeget werden Soll
*/
public void ablegen(int kartenID) {
if((kartenID >= 0) && (kartenID < 32)){
kartensatz[kartenID].setAblageort(Ablageort.ABLAGESTAPEL);
letztekarte = kartenID;
}
}
/**
* gibt die ID der Kartezurück die als letztes auf dem Ablagestabel gelegt wurde
* @return ID der zuletzt gelegten Karte
*/
public int getletzteKarte() {
return letztekarte;
}
/**
* Gibt die Karten Indexe einer Spieler Hand zuück
* Wenn keine Karten auf der Hand liegen wird eine Leere ArrayList zurückgegeben
* @param spieler Spieler
* @return ArrayList von Integer welche die KatrenIndexe enthält,
*/
public ArrayList<Integer> getHand(Spieler spieler) {
ArrayList<Integer> hand = new ArrayList<Integer>();
for(int i = 0; i < 32; i++) {
//Für Spieler
if(spieler == Spieler.SPIELER) {
if(kartensatz[i].getAblageort() == Ablageort.SPIELER) {
hand.add(i);
}
}
//Für Computer
if(spieler == Spieler.COMPUTER) {
if(kartensatz[i].getAblageort() == Ablageort.COMPUTER) {
hand.add(i);
}
}
}
return hand;
}
/**
* Gibt eine Karte aus dem Kartensatz zurück
* @param kartenid ID Der Karte (0 - 31)
* @return Karte auf dem Kartensatz mit der ID x
*/
public Karte getKarte(int kartenID) {
if((kartenID >= 0) && (kartenID < 32)){
return kartensatz[kartenID];
}
else {
return null;
}
}
/**
* Legt die Farbe fest die als nächstes auf den Ablagestapel gelegt werden muss
* Dafür wird der "Wünscher" (Bube) der jeweiligen Farbe als letze Karte auf dem Ablegestabel eingetragen
* @param farbe Farbe die sich gewünscht wird
*/
public void SetWunschfarbe(Farbe farbe) {
if(farbe == Farbe.KARO) {
letztekarte = 4; //Karo Bube
}
else if (farbe == Farbe.HERZ) {
letztekarte = 12; //Kerz Bube
}
else if (farbe == Farbe.PIK) {
letztekarte = 20; //Pik Bube
}
else if (farbe == Farbe.KREUZ) {
letztekarte = 28; //Kreuz Bube
}
}
/**
* 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 getZiehstapelAnzahl() {
int anzahl = 0;
for(Karte karte: kartensatz) {
if(karte.getAblageort() == Ablageort.ZIEHSTAPEL) {
anzahl++;
}
}
return anzahl;
}
} }

View File

@@ -0,0 +1,5 @@
package de.jaujau.daten;
public enum Spieler {
SPIELER, COMPUTER
}

View File

@@ -0,0 +1,25 @@
package de.jaujau.daten;
import de.jaujau.spiellogik.Spiel;
/**
* Class Spieler
*/
public class Spielerdaten {
int punktestand; //Punktestand des Spielers
String name /*= Spieler.getSpieler()*/; // Name des Spielers
public void punktestandErhoehen(int punkt){ // Methode zum Erhoehen des Punktestandes
punktestand += punkt ;
}
public int getPunktestand() {
return punktestand;
}
public String getName() {
return name;
}
}

View File

@@ -1,60 +1,59 @@
package de.jaujau.daten; package de.jaujau.daten;
import java.util.*;
/**
* Class Spielerverwaltung
*/
public class Spielerverwaltung { public class Spielerverwaltung {
// private int level;
// Fields
//
private unsigned int level; private Spielerdaten spieler;
private String name = "Mark Zuckerberg"; //Testeintrag
/** /**
* arraylist von Spieler * arraylist von Spieler
*/ */
private Spieler spieler;
// //
// Constructors // Constructors
// //
public Spielerverwaltung () { };
// //
// Methods // Methods
//
// //
// Accessor methods // Accessor methods
// //
/** /**
* Set the value of level * Set the value of level
* @param newVar the new value of level * @param newVar the new value of level
*/ */
public void setLevel (unsigned int newVar) { public void setLevel (int newlevel) {
level = newVar; level = newlevel;
} }
/** /**
* Get the value of level * Get the value of level
* @return the value of level * @return the value of level
*/ */
public unsigned int getLevel () { public int getLevel () {
return level; return level;
} }
/**
* Get the value of level
* @return the value of level
*/
public String getName () {
return name;
}
/** /**
* Set the value of spieler * Set the value of spieler
* arraylist von Spieler * arraylist von Spieler
* @param newVar the new value of spieler * @param newVar the new value of spieler
*/ */
public void setSpieler (Spieler newVar) { public void setSpieler (Spielerdaten newSpieler) {
spieler = newVar; spieler = newSpieler;
} }
/** /**
@@ -62,7 +61,7 @@ public class Spielerverwaltung {
* arraylist von Spieler * arraylist von Spieler
* @return the value of spieler * @return the value of spieler
*/ */
public Spieler getSpieler () { public Spielerdaten getSpieler () {
return spieler; return spieler;
} }
@@ -74,6 +73,7 @@ public class Spielerverwaltung {
*/ */
public void leseDaten() public void leseDaten()
{ {
throw new UnsupportedOperationException();
} }
@@ -81,7 +81,10 @@ public class Spielerverwaltung {
*/ */
public void speichernDaten() public void speichernDaten()
{ {
throw new UnsupportedOperationException();
} }
public Spielerverwaltung() {
//Implementieren
};
} }

View File

@@ -0,0 +1,207 @@
package de.jaujau.daten;
import java.awt.Image;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.Scanner;
import java.util.zip.ZipEntry;
import java.util.zip.ZipException;
import java.util.zip.ZipFile;
import javax.imageio.ImageIO;
/**
* Verwaltet ein Texturenpackt
* @author Sebastian Kacza
*
*/
public class Texturenpaket {
private String name;
private int level;
private final String pfad;
/**
* Erstellt ein neues Texturenpackt
* @param Pfad zu der Zip-Datei des Texturenpacketes
*/
public Texturenpaket(String Pfad) {
name = "Nicht geladen";
level = 0;
pfad = Pfad;
}
/**
* Läd die Packetinformationen und Testet das Packet auf Vollständigkeit
* @return Paket vollständig laden, true/false
*/
public boolean ladePacket() {
System.out.println("TEXTURENPAKET: Lade Paket");
if(testePaket()) {
//Paket ist OK
//Paket Informationen Laden
try {
File zipDatei = new File(pfad);
ZipFile paketDatei = new ZipFile(zipDatei);
ZipEntry zipInhaltPaketTXT = paketDatei.getEntry("paket.txt");
InputStream eingabeStromTXT = paketDatei.getInputStream(zipInhaltPaketTXT);
Scanner scanner = new Scanner(eingabeStromTXT);
while(scanner.hasNext()) {
String Zeile = scanner.next();
String Spalte[] = Zeile.split(":");
//System.out.println(Spalte.length);
if(Spalte.length==2) {
System.out.println("TEXTURENPAKET: " + Spalte[1]);
//Name Auslesen
if(Spalte[0].equals("name")) {
name = Spalte[1];
}
//Level Auslesen
if(Spalte[0].equals("level")) {
level = Integer.parseInt(Spalte[1]);
}
}
}
scanner.close();
paketDatei.close();
} catch (ZipException e) {
e.printStackTrace();
return false;
} catch (IOException e) {
e.printStackTrace();
return false;
}
}
else {
return false;
}
return true;
}
/**
* Gibt alle Bilddatein für ein Texturen Paket zurück
* @return Image der Texturen des Peketes als Image Array
*/
public Image[] getTexturen() {
if(testePaket()) {
try {
File zipDatei = new File(pfad);
ZipFile paketDatei = new ZipFile(zipDatei);
Image Bilder[] = new Image[32];
for(int i = 0; i < 32; i++) {
ZipEntry zipInhaltTextur = paketDatei.getEntry(i+".png");
InputStream eingabeStromTextur = paketDatei.getInputStream(zipInhaltTextur);
Bilder[i] = ImageIO.read(eingabeStromTextur);
}
return Bilder;
} catch (ZipException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
return null;
}
/**
* Gibt den Namen des Texturenpacket zurück
* @return Name des Texturenpacketes
*/
public String getName() {
return name;
}
/**
* Gibt den Level Wert zurück der mindestens Benötigt wird um das Packet zu benutzten
* @return Mindest Level
*/
public int getLevel() {
return level;
}
/**
* Testet das Texturenpaket auf vollständigkeit
* @return Paket vollständig, true/false
*/
private boolean testePaket() {
System.out.println("TEXTURENPAKET: Teste Paket:");
//Testen ob Zip-Datei vorhanden und lesabar ist
File zipDatei = new File(pfad);
if(zipDatei.exists() || zipDatei.canRead()) {
try {
//Zip Datei öffnen
ZipFile paketDatei = new ZipFile(zipDatei);
//Paket Konfigurations Datei Prüfen
ZipEntry zipInhaltPaketTXT = paketDatei.getEntry("paket.txt");
InputStream eingabeStromTXT = paketDatei.getInputStream(zipInhaltPaketTXT);
Scanner scanner = new Scanner(eingabeStromTXT);
boolean PaketName = false;
boolean PaketLevel = false;
while(scanner.hasNext()) {
//Prüfen ob Konfigurations Datei die Einträge "name" und "level" enthält
String Zeile = scanner.next();
System.out.println("TEXTURENPAKET: " + Zeile);
if(Zeile.contains("name:")) {
PaketName = true;
}
if(Zeile.contains("level:")) {
PaketLevel = true;
}
}
scanner.close();
if(!PaketName || !PaketLevel) {
System.out.println("TEXTURENPAKET: Paket Konfiguration fehlerhaft");
return false;
}
//Texturen Prüfen
for(int i = 0; i < 32; i++) {
ZipEntry zipInhaltTextur = paketDatei.getEntry(i+".png");
InputStream eingabeStromTextur = paketDatei.getInputStream(zipInhaltTextur);
Image bild = ImageIO.read(eingabeStromTextur);
if(bild == null) {
System.out.println("TEXTURENPAKET: Datei: " + i + ".png nicht gefunden");
return false;
}
}
paketDatei.close();
} catch (ZipException e) {
//Zip Datei nicht leesbar
e.printStackTrace();
return false;
} catch (IOException e) {
//Zip Datei nicht lesbar
e.printStackTrace();
return false;
}
}
else {
return false;
}
//Alles OK
System.out.println("TEXTURENPAKET: Texturen Paket ist OK");
return true;
}
}

View File

@@ -1,14 +1,113 @@
package de.jaujau.daten; package de.jaujau.daten;
import java.util.*; import java.awt.Image;
import java.util.ArrayList;
/** /**
* Class Texturenpakete * Diese Klasse Verwaltet die Texturenpackete des Spiels
* @author Sebastian Kacza
*/ */
public class Texturenpakete { public class Texturenpakete {
private ArrayList<Texturenpaket> TexturenpaketListe;
private Image Texturen[];
private int AktivesPaket;
public Texturenpakete(){
TexturenpaketListe = new ArrayList<Texturenpaket>();
AktivesPaket = 0;
}
/**
* Gibt die Anzahl der Vorhanden Texturenpakete aus
* @return Anzahl Texturenpakte
*/
public int getAnzahlPakete() {
return TexturenpaketListe.size();
}
/**
* Gibt das min Level für ein bestimtes Paket zurück
* @param PaketNummer
* @return min Level
*/
public int getLevel(int PaketNr) {
if((PaketNr >= 0) && (PaketNr < TexturenpaketListe.size())) {
return TexturenpaketListe.get(PaketNr).getLevel();
}
return 0;
}
/**
* Gibt den Namen eines Bestiment Paketes zurück
* @param PaketNummer
* @return Name des Paketes
*/
public String getName(int PaketNr) {
if((PaketNr >= 0) && (PaketNr < TexturenpaketListe.size())) {
return TexturenpaketListe.get(PaketNr).getName();
}
return "";
}
/**
* Gibt die Nummer des AktivenPakes aus
* @return Nummer des Aktiven Paketes
*/
public int getAktivesPaket() {
return AktivesPaket;
}
/**
* Setzt das aktive Paket
* @param PaketNr des Paketes
* @return Setzen erfolgreich true/false
*/
public boolean setAktivesPaket(int PaketNr) {
if((PaketNr >= 0) && (PaketNr < TexturenpaketListe.size())) {
AktivesPaket = PaketNr;
//Texturen Laden
Texturen = TexturenpaketListe.get(PaketNr).getTexturen();
return true;
}
return false;
}
/**
* Fügt ein Neues Testuren Paket hinzu
* Das Paket wird vor dem einfügen auf Vollständfigkeit geprüft
* @param Pfad
* @return
*/
public boolean addPaket(String Pfad) {
Texturenpaket NeuesPaket = new Texturenpaket(Pfad);
if(NeuesPaket.ladePacket()) {
TexturenpaketListe.add(NeuesPaket);
return true;
}
return false;
}
/**
* Gibt eine Textur des aktuellen Paketes als Image zurück
* @param KartenNr der Textur
* @return Textur als Image
*/
public Image getTextur(int KartenNr) {
if((KartenNr >= 0) && (KartenNr < 32)) {
return Texturen[KartenNr];
}
return null;
}
} }

5
src/de/jaujau/daten/Wert.java Executable file
View File

@@ -0,0 +1,5 @@
package de.jaujau.daten;
public enum Wert {
SIEBEN, ACHT, NEUN, ZEHN, BUBE, DAME, KOENING, ASS
}

View File

@@ -1,22 +1,33 @@
package de.jaujau.gui; package de.jaujau.gui;
import java.util.*; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
/** /**
* Class GUI * Class GUI
*/ */
public class GUI { public class GUI extends JFrame implements ActionListener{
// //
// Fields // Fields
// //
private static final long serialVersionUID = 1L;
// //
// Constructors // Constructors
// //
public GUI () { }; public GUI () { }
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
}
// //
// Methods // Methods

View File

@@ -1,123 +0,0 @@
package de.jaujau.gui;
import java.awt.EventQueue;
import java.awt.Image;
import javax.swing.JFrame;
import javax.swing.JButton;
import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.imageio.ImageIO;
import javax.swing.BoxLayout;
import javax.swing.Icon;
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
import javax.swing.SwingConstants;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.awt.Component;
import java.awt.Font;
public class JauJauGUI {
private JFrame frame;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
JauJauGUI window = new JauJauGUI();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the application.
*/
public JauJauGUI() {
initialize();
}
/**
* Initialize the contents of the frame.
*/
//Test GUI f<>r JauJau
private void initialize() {
frame = new JFrame();
frame.setBounds(100, 100, 783, 762);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(new BorderLayout(0, 0));
JPanel panel_top = new JPanel();
panel_top.setPreferredSize(new Dimension(200, 100));
panel_top.setBackground(new Color(0, 0, 128));
frame.getContentPane().add(panel_top, BorderLayout.NORTH);
panel_top.setLayout(new BorderLayout(0, 0));
JLabel lblNewLabel_1 = new JLabel("JauJau");
lblNewLabel_1.setForeground(Color.WHITE);
lblNewLabel_1.setHorizontalAlignment(SwingConstants.CENTER);
lblNewLabel_1.setInheritsPopupMenu(false);
lblNewLabel_1.setIgnoreRepaint(false);
lblNewLabel_1.setFont(new Font("Tahoma", Font.BOLD, 40));
lblNewLabel_1.setVerticalAlignment(SwingConstants.CENTER);
panel_top.add(lblNewLabel_1, BorderLayout.CENTER);
JPanel panel_side = new JPanel();
panel_side.setBackground(new Color(100, 149, 237));
panel_side.setPreferredSize(new Dimension(200, 400));
frame.getContentPane().add(panel_side, BorderLayout.WEST);
panel_side.setLayout(new BorderLayout(0, 0));
JPanel panel_buttons = new JPanel();
panel_buttons.setBackground(new Color(0, 0, 128));
panel_buttons.setPreferredSize(new Dimension(50, 200));
panel_side.add(panel_buttons, BorderLayout.WEST);
panel_buttons.setLayout(new BorderLayout(0, 0));
JPanel panel = new JPanel();
panel.setBackground(new Color(0, 0, 153));
panel.setPreferredSize(new Dimension(50, 50));
panel_buttons.add(panel, BorderLayout.NORTH);
panel.setLayout(new BorderLayout(0, 0));
JLabel lblNewLabel = new JLabel("");
lblNewLabel.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
panel_side.setVisible(false);
}
});
lblNewLabel.setPreferredSize(new Dimension(50, 50));
lblNewLabel.setAlignmentX(Component.CENTER_ALIGNMENT);
lblNewLabel.setHorizontalTextPosition(SwingConstants.CENTER);
lblNewLabel.setHorizontalAlignment(SwingConstants.CENTER);
ImageIcon imageIcon = new ImageIcon(new ImageIcon("C:\\Users\\Elmar\\Pictures\\exit.png").getImage().getScaledInstance(40, 40, Image.SCALE_DEFAULT));
lblNewLabel.setIcon(imageIcon);
panel.add(lblNewLabel, BorderLayout.CENTER);
JPanel panel_main = new JPanel();
panel_main.setPreferredSize(new Dimension(600, 600));
frame.getContentPane().add(panel_main, BorderLayout.CENTER);
}
}

View File

@@ -0,0 +1,240 @@
package de.jaujau.gui;
import java.awt.EventQueue;
import java.awt.Image;
import javax.swing.JFrame;
import javax.swing.JButton;
import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.imageio.ImageIO;
import javax.swing.BoxLayout;
import javax.swing.Icon;
import java.awt.Color;
import java.awt.Dimension;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
import de.jaujau.daten.Spielerverwaltung;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.awt.Component;
import java.awt.Font;
public class Menue_GUI extends GUI implements ActionListener {
/**
*
*/
private static final long serialVersionUID = 1L;
private Spielerverwaltung spielerverwaltung;
private JPanel contentPane;
private boolean shown = true;
/**
* Create the application.
* @param speicherung
*/
public Menue_GUI(Spielerverwaltung speicherung) {
this.spielerverwaltung = speicherung;
speicherung.getSpieler();
System.out.println("Men<EFBFBD>-GUI aufgerufen");
initialize(this.spielerverwaltung);
}
/**
* Initialize the contents of the frame.
*/
//Test GUI f<>r JauJau
private void initialize(Spielerverwaltung speicherung) {
this.spielerverwaltung = speicherung;
setBounds(100, 100, 963, 762);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
getContentPane().setLayout(new BorderLayout(0, 0));
setVisible(true);
JPanel panel_top = new JPanel();
panel_top.setPreferredSize(new Dimension(200, 100));
panel_top.setBackground(new Color(0, 0, 128));
this.getContentPane().add(panel_top, BorderLayout.NORTH);
panel_top.setLayout(new BorderLayout(0, 0));
JLabel lblNewLabel_1 = new JLabel("JauJau");
lblNewLabel_1.setForeground(Color.WHITE);
lblNewLabel_1.setHorizontalAlignment(SwingConstants.CENTER);
lblNewLabel_1.setInheritsPopupMenu(false);
lblNewLabel_1.setIgnoreRepaint(false);
lblNewLabel_1.setFont(new Font("Tahoma", Font.BOLD, 40));
lblNewLabel_1.setVerticalAlignment(SwingConstants.CENTER);
panel_top.add(lblNewLabel_1, BorderLayout.CENTER);
JPanel panel_side = new JPanel();
panel_side.setBackground(new Color(0, 51, 153));
panel_side.setPreferredSize(new Dimension(270, 400));
this.getContentPane().add(panel_side, BorderLayout.WEST);
panel_side.setLayout(new BorderLayout(0, 0));
JPanel panel_buttons = new JPanel();
panel_buttons.setBackground(new Color(0, 0, 128));
panel_buttons.setPreferredSize(new Dimension(50, 200));
panel_side.add(panel_buttons, BorderLayout.WEST);
panel_buttons.setLayout(null);
JPanel panel = new JPanel();
panel.setBounds(0, 0, 50, 50);
panel.setBackground(new Color(0, 0, 153));
panel.setPreferredSize(new Dimension(50, 50));
panel_buttons.add(panel);
panel.setLayout(new BorderLayout(0, 0));
JLabel minimize = new JLabel("");
minimize.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if(shown == true) {
panel_side.setPreferredSize(new Dimension(50, panel_side.getHeight()));
System.out.println("Update GUI 50");
panel_side.revalidate();
panel_side.repaint();
shown = false;
}else{
panel_side.setPreferredSize(new Dimension(270, panel_side.getHeight()));
System.out.println("Update GUI 270");
panel_side.revalidate();
panel_side.repaint();
shown = true;
}
}
});
minimize.setPreferredSize(new Dimension(50, 50));
minimize.setAlignmentX(Component.CENTER_ALIGNMENT);
minimize.setHorizontalTextPosition(SwingConstants.CENTER);
minimize.setHorizontalAlignment(SwingConstants.CENTER);
ImageIcon imageIcon = new ImageIcon(new ImageIcon("C:\\Users\\Elmar\\Pictures\\exit.png").getImage().getScaledInstance(40, 40, Image.SCALE_DEFAULT));
minimize.setIcon(imageIcon);
panel.add(minimize, BorderLayout.CENTER);
JPanel buttons = new JPanel();
buttons.setBackground(new Color(51, 51, 153));
panel_side.add(buttons, BorderLayout.CENTER);
buttons.setLayout(new BorderLayout(0, 0));
JPanel panel_4 = new JPanel();
panel_4.setBackground(new Color(0, 51, 153));
buttons.add(panel_4, BorderLayout.CENTER);
panel_4.setLayout(null);
JLabel start = new JLabel("Spiel starten");
start.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
//Spiel starten Spiel_GUI und schlie<69>e Menue_GUI (wechsel) und Spiellogikaufrufen
System.out.println("Start Game");
}
});
start.setBackground(Color.WHITE);
start.setForeground(Color.WHITE);
start.setFont(new Font("Segoe UI", Font.PLAIN, 26));
start.setHorizontalAlignment(SwingConstants.CENTER);
start.setAlignmentX(Component.CENTER_ALIGNMENT);
start.setBounds(0, 0, 220, 31);
panel_4.add(start);
JLabel score = new JLabel("Highscore");
score.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
//Rechtes Panel <20>ndern und Highscore aus jaujaudaten abrufen.
System.out.println("Highscore");
}
});
score.setBackground(Color.WHITE);
score.setForeground(Color.WHITE);
score.setFont(new Font("Segoe UI", Font.PLAIN, 26));
score.setHorizontalAlignment(SwingConstants.CENTER);
score.setAlignmentX(Component.CENTER_ALIGNMENT);
score.setBounds(0, 42, 220, 31);
panel_4.add(score);
JLabel settings = new JLabel("Einstellungen");
settings.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
//Rechtes Panel <20>ndern und Einstellungen aufrufen
System.out.println("Highscore");
}
});
settings.setBackground(Color.WHITE);
settings.setForeground(Color.WHITE);
settings.setFont(new Font("Segoe UI", Font.PLAIN, 26));
settings.setHorizontalAlignment(SwingConstants.CENTER);
settings.setAlignmentX(Component.CENTER_ALIGNMENT);
settings.setBounds(0, 84, 220, 31);
panel_4.add(settings);
JLabel help = new JLabel("Hilfe");
help.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
//Starte Hilfe GUI Menue_GUI bleibt ge<67>ffnet
System.out.println("Hilfe");
}
});
help.setBackground(Color.WHITE);
help.setForeground(Color.WHITE);
help.setFont(new Font("Segoe UI", Font.PLAIN, 26));
help.setHorizontalAlignment(SwingConstants.CENTER);
help.setAlignmentX(Component.CENTER_ALIGNMENT);
help.setBounds(0, 126, 220, 31);
panel_4.add(help);
JPanel panel_main = new JPanel();
panel_main.setPreferredSize(new Dimension(600, 600));
this.getContentPane().add(panel_main, BorderLayout.CENTER);
panel_main.setLayout(new BoxLayout(panel_main, BoxLayout.X_AXIS));
JPanel panel_1 = new JPanel();
panel_1.setBackground(new Color(102, 153, 255));
panel_main.add(panel_1);
panel_1.setLayout(new BorderLayout(0, 0));
JPanel panel_2 = new JPanel();
panel_2.setBackground(new Color(51, 153, 204));
panel_1.add(panel_2, BorderLayout.CENTER);
panel_2.setLayout(new BorderLayout(0, 0));
JLabel lblNewLabel_2 = new JLabel("Name: ");
lblNewLabel_2.setForeground(Color.WHITE);
lblNewLabel_2.setFont(new Font("Segoe UI", Font.PLAIN, 26));
lblNewLabel_2.setBackground(new Color(51, 153, 204));
panel_2.add(lblNewLabel_2, BorderLayout.NORTH);
lblNewLabel_2.setHorizontalAlignment(SwingConstants.CENTER);
lblNewLabel_2.setVerticalAlignment(SwingConstants.TOP);
lblNewLabel_2.setText("Name: " + speicherung.getName());
JPanel panel_3 = new JPanel();
panel_3.setBackground(new Color(51, 153, 204));
panel_2.add(panel_3, BorderLayout.CENTER);
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
}
}

View File

@@ -1,34 +0,0 @@
package de.jaujau.gui;
import java.util.*;
/**
* Class Men<65>_GUI
*/
public class Men<EFBFBD>_GUI {
//
// Fields
//
//
// Constructors
//
public Men<EFBFBD>_GUI () { };
//
// Methods
//
//
// Accessor methods
//
//
// Other methods
//
}

View File

@@ -1,93 +1,93 @@
package de.jaujau.spiellogik; package de.jaujau.spiellogik;
import java.util.*;
import de.jaujau.daten.Spielerverwaltung; import de.jaujau.daten.Spielerverwaltung;
import de.jaujau.daten.Texturenpakete; import de.jaujau.daten.Texturenpakete;
import de.jaujau.gui.GUI; import de.jaujau.gui.GUI;
import de.jaujau.gui.Menue_GUI;
/**
* Class Anwendung
*/
public class Anwendung { public class Anwendung {
//
// Fields
//
private Spiel aktuellesSpiel; private Spiel aktuellesSpiel;
private Texturenpakete texturenpakete; private Texturenpakete texturenpakete;
private Spielerverwaltung speicherung; private Spielerverwaltung speicherung;
private GUI gui; private static Menue_GUI gui;
// //
// Constructors // Constructors
// //
public Anwendung () { }; public Anwendung() {
speicherung = new Spielerverwaltung();
gui = new Menue_GUI(speicherung);
};
// //
// Methods // Methods
//
// //
// Accessor methods // Accessor methods
// //
/** /**
* Set the value of aktuellesSpiel * Set the value of aktuellesSpiel
*
* @param newVar the new value of aktuellesSpiel * @param newVar the new value of aktuellesSpiel
*/ */
public void setAktuellesSpiel (Spiel newVar) { public void setAktuellesSpiel(Spiel newSpiel) {
aktuellesSpiel = newVar; aktuellesSpiel = newSpiel;
} }
/** /**
* Get the value of aktuellesSpiel * Get the value of aktuellesSpiel
*
* @return the value of aktuellesSpiel * @return the value of aktuellesSpiel
*/ */
public Spiel getAktuellesSpiel () { public Spiel getAktuellesSpiel() {
return aktuellesSpiel; return aktuellesSpiel;
} }
/** /**
* Set the value of texturenpakete * Set the value of texturenpakete
*
* @param newVar the new value of texturenpakete * @param newVar the new value of texturenpakete
*/ */
public void setTexturenpakete (Texturenpakete newVar) { public void setTexturenpakete(Texturenpakete newTexture) {
texturenpakete = newVar; texturenpakete = newTexture;
} }
/** /**
* Get the value of texturenpakete * Get the value of texturenpakete
*
* @return the value of texturenpakete * @return the value of texturenpakete
*/ */
public Texturenpakete getTexturenpakete () { public Texturenpakete getTexturenpakete() {
return texturenpakete; return texturenpakete;
} }
/** /**
* Set the value of speicherung * Set the value of speicherung
*
* @param newVar the new value of speicherung * @param newVar the new value of speicherung
*/ */
public void setSpeicherung (Spielerverwaltung newVar) { public void setSpeicherung(Spielerverwaltung newVer) {
speicherung = newVar; speicherung = newVer;
} }
/** /**
* Get the value of speicherung * Get the value of speicherung
*
* @return the value of speicherung * @return the value of speicherung
*/ */
public Spielerverwaltung getSpeicherung () { public Spielerverwaltung getSpeicherung() {
return speicherung; return speicherung;
} }
/** /**
* Set the value of gui * Set the value of gui
*
* @param newVar the new value of gui * @param newVar the new value of gui
*/ */
public void setGui (GUI newVar) { public static void setGui(Menue_GUI newVar) {
gui = newVar; gui = newVar;
} }
@@ -95,19 +95,38 @@ public class Anwendung {
* Get the value of gui * Get the value of gui
* @return the value of gui * @return the value of gui
*/ */
public GUI getGui () { public static GUI getGui () {
return gui; return gui;
} }
//
// Other methods
//
public static void openGui() { // GUI oeffnen!
Anwendung jaujau = new Anwendung();
jaujau.gui.setVisible(true);
}
/**
*/
public static void main(String[] args){
openGui();
// //
// Other methods // Other methods
// //
/** /**
*/ * Launch the application.
public void main() */
/*public static void main(String[] args)
{ {
System.out.println("Programm gestartet");
Anwendung jaujau = new Anwendung();
jaujau.gui.setVisible(true);
}*/
} }
} }

View File

@@ -1,129 +1,130 @@
package de.jaujau.spiellogik; package de.jaujau.spiellogik;
import java.util.*; import java.util.Random;
import de.jaujau.daten.Farbe;
import de.jaujau.daten.Kartensatz; import de.jaujau.daten.Kartensatz;
import de.jaujau.daten.Spieler;
import de.jaujau.daten.Wert;
/** /**
* Class Spiel * Diese Klasse pr<70>ft die Spielaktionen und alterniert zwischen Spieler und Computer
* @author Fabian Keller
*/ */
public class Spiel { public class Spiel {
// private Spieler amZug;
// Fields private boolean spielgestartet = false;
// private boolean aussetzen;
private boolean zwei_ziehen;
private spieler spieler; private int kartenZiehen;
private spieler amZug; private Kartensatz kartensatz;
private boolean aussetzen; private Farbe gelegteFarbe;
private boolean zwei_ziehen; private Wert gelegterWert;
private Kartensatz kartensatz;
// /**
// Constructors * alterniert zwischen Spieler und Computer und legt Beginner fest
// */
public Spiel () { }; private void spiel() {
if(!spielgestartet) { //Starter durch zufall bestimmen
// Random zufallszahl = new Random();
// Methods int zahl = zufallszahl.nextInt(1);
// if(zahl == 1) {
amZug = Spieler.SPIELER;
}
// else {
// Accessor methods amZug = Spieler.COMPUTER;
// }
spielgestartet = true;
/** kartensatz.ablegen(zufallszahl.nextInt(31));
* Set the value of spieler return;
* @param newVar the new value of spieler }
*/ if(amZug == Spieler.SPIELER) {
public void setSpieler (spieler newVar) { amZug = Spieler.COMPUTER;
spieler = newVar; }
} else {
amZug= Spieler.SPIELER;
/** }
* Get the value of spieler }
* @return the value of spieler
*/
public spieler getSpieler () { /**
return spieler; * pr<70>ft ob eine Karte mit einem bestimmten Kartenindex gelegt werden kann
} * @param kartenindex
*/
/** private void karteLegen(int kartenindex) { //Nur Struktur<75>berlegung, W<>NSCHER?
* Set the value of amZug zugMoeglich();
* @param newVar the new value of amZug Farbe legenFarbe;
*/ Wert legenWert;
public void setAmZug (spieler newVar) { legenFarbe = kartensatz.getKarte(kartenindex).getFARBE();
amZug = newVar; legenWert = kartensatz.getKarte(kartenindex).getWERT();
}
if(zwei_ziehen && legenWert == Wert.SIEBEN) {
/** kartensatz.ablegen(kartenindex);
* Get the value of amZug spiel();
* @return the value of amZug return;
*/ }
public spieler getAmZug () { if(aussetzen && legenWert == Wert.ACHT) {
return amZug; kartensatz.ablegen(kartenindex);
} spiel();
return;
/** }
* Set the value of aussetzen if(!aussetzen && !zwei_ziehen) {
* @param newVar the new value of aussetzen if(legenFarbe == gelegteFarbe) {
*/ kartensatz.ablegen(kartenindex);
public void setAussetzen (boolean newVar) { spiel();
aussetzen = newVar; return;
} }
if(legenWert == gelegterWert) {
/** kartensatz.ablegen(kartenindex);
* Get the value of aussetzen spiel();
* @return the value of aussetzen return;
*/ }
public boolean getAussetzen () { }
return aussetzen; if(aussetzen) {
} spiel();
aussetzen = false;
/** }
* Set the value of zwei_ziehen }
* @param newVar the new value of zwei_ziehen
*/
public void setZwei_ziehen (boolean newVar) { /**
zwei_ziehen = newVar; * pr<70>ft ob eine Karte gezogen werden kann
} */
private void karteZiehen(){
/** zugMoeglich();
* Get the value of zwei_ziehen if(zwei_ziehen) {
* @return the value of zwei_ziehen for(int i = 0; i < kartenZiehen; i++) {
*/ kartensatz.ziehen(amZug);
public boolean getZwei_ziehen () { }
return zwei_ziehen; spiel();
} kartenZiehen = 0;
zwei_ziehen = false;
/** }
* Set the value of kartensatz if(aussetzen) {
* @param newVar the new value of kartensatz spiel();
*/ aussetzen = false;
public void setKartensatz (Kartensatz newVar) { }
kartensatz = newVar; }
}
/** /**
* Get the value of kartensatz * pr<EFBFBD>ft ob ein Zug <20>berhaupt m<>glich ist und lie<69>t Werte zum weiterarbeiten ein
* @return the value of kartensatz */
*/ private void zugMoeglich() {
public Kartensatz getKartensatz () { gelegteFarbe = kartensatz.getKarte(kartensatz.getletzteKarte()).getFARBE();
return kartensatz; gelegterWert = kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT();
} if(gelegterWert == Wert.ACHT) {
aussetzen = true;
// }
// Other methods else {
// aussetzen = false;
}
/** if(gelegterWert == Wert.SIEBEN) {
* @param name zwei_ziehen = true;
*/ kartenZiehen += 2;
private void zug(spieler name) }
{ }
}
} }

View File

@@ -1,76 +0,0 @@
package de.jaujau.spiellogik;
import java.util.*;
/**
* Class Spieler
*/
public class Spieler {
//
// Fields
//
private unsigned int punktestand;
private String NAME;
//
// Constructors
//
public Spieler () { };
//
// Methods
//
//
// Accessor methods
//
/**
* Set the value of punktestand
* @param newVar the new value of punktestand
*/
public void setPunktestand (unsigned int newVar) {
punktestand = newVar;
}
/**
* Get the value of punktestand
* @return the value of punktestand
*/
public unsigned int getPunktestand () {
return punktestand;
}
/**
* Set the value of NAME
* @param newVar the new value of NAME
*/
public void setNAME (String newVar) {
NAME = newVar;
}
/**
* Get the value of NAME
* @return the value of NAME
*/
public String getNAME () {
return NAME;
}
//
// Other methods
//
/**
* @param punkte
*/
public void erhoehePunktestand(unsigned int punkte)
{
}
}

View File

@@ -1,6 +1,7 @@
package de.jaujau.spiellogik; package de.jaujau.spiellogik;
import de.jaujau.daten.Kartensatz; import de.jaujau.daten.Kartensatz;
import de.jaujau.daten.Spielerdaten;
/** /**
@@ -35,7 +36,7 @@ public class Spielzug {
* @param spieler * @param spieler
* @param kartensatz * @param kartensatz
*/ */
public static void legen(Spieler spieler, Kartensatz kartensatz) public static void legen(Spielerdaten spieler, Kartensatz kartensatz)
{ {
} }
@@ -44,7 +45,7 @@ public class Spielzug {
* @param spieler * @param spieler
* @param kartensatz * @param kartensatz
*/ */
public static void aussetzen(Spieler spieler, Kartensatz kartensatz) public static void aussetzen(Spielerdaten spieler, Kartensatz kartensatz)
{ {
} }
@@ -54,7 +55,7 @@ public class Spielzug {
* @param kartensatz * @param kartensatz
* @param anzahl * @param anzahl
*/ */
public static void ziehen(Spieler spieler, Kartensatz kartensatz, int anzahl) public static void ziehen(Spielerdaten spieler, Kartensatz kartensatz, int anzahl)
{ {
} }