Merge branch 'patch-1' of https://gitlab.imn.htwk-leipzig.de/weicker/inb1-a-jaujau.git into patch-1
This commit is contained in:
@@ -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>
|
||||||
|
11
.project
11
.project
@@ -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>
|
||||||
|
98
src/de/jaujau/UnitTests/TEST_Kartensatz.java
Executable file
98
src/de/jaujau/UnitTests/TEST_Kartensatz.java
Executable 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);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
49
src/de/jaujau/UnitTests/TEST_Texturenpaket.java
Executable file
49
src/de/jaujau/UnitTests/TEST_Texturenpaket.java
Executable 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
33
src/de/jaujau/UnitTests/TEST_Texturenpakete.java
Executable file
33
src/de/jaujau/UnitTests/TEST_Texturenpakete.java
Executable 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
5
src/de/jaujau/daten/Ablageort.java
Executable file
5
src/de/jaujau/daten/Ablageort.java
Executable 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
5
src/de/jaujau/daten/Farbe.java
Executable file
@@ -0,0 +1,5 @@
|
|||||||
|
package de.jaujau.daten;
|
||||||
|
|
||||||
|
public enum Farbe {
|
||||||
|
PIK, KREUZ, HERZ, KARO
|
||||||
|
}
|
@@ -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 + "]";
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
5
src/de/jaujau/daten/Spieler.java
Executable file
5
src/de/jaujau/daten/Spieler.java
Executable file
@@ -0,0 +1,5 @@
|
|||||||
|
package de.jaujau.daten;
|
||||||
|
|
||||||
|
public enum Spieler {
|
||||||
|
SPIELER, COMPUTER
|
||||||
|
}
|
25
src/de/jaujau/daten/Spielerdaten.java
Normal file
25
src/de/jaujau/daten/Spielerdaten.java
Normal 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;
|
||||||
|
}
|
||||||
|
}
|
@@ -1,51 +1,50 @@
|
|||||||
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
|
||||||
|
* @return the value of level
|
||||||
|
*/
|
||||||
|
public int getLevel () {
|
||||||
|
return level;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 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 String getName () {
|
||||||
return level;
|
|
||||||
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -53,8 +52,8 @@ public class Spielerverwaltung {
|
|||||||
* 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
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
207
src/de/jaujau/daten/Texturenpaket.java
Executable file
207
src/de/jaujau/daten/Texturenpaket.java
Executable 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;
|
||||||
|
}
|
||||||
|
}
|
@@ -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
5
src/de/jaujau/daten/Wert.java
Executable file
@@ -0,0 +1,5 @@
|
|||||||
|
package de.jaujau.daten;
|
||||||
|
|
||||||
|
public enum Wert {
|
||||||
|
SIEBEN, ACHT, NEUN, ZEHN, BUBE, DAME, KOENING, ASS
|
||||||
|
}
|
@@ -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
|
||||||
|
@@ -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);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
240
src/de/jaujau/gui/Menue_GUI.java
Normal file
240
src/de/jaujau/gui/Menue_GUI.java
Normal 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
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@@ -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
|
|
||||||
//
|
|
||||||
|
|
||||||
}
|
|
@@ -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
|
// Other methods
|
||||||
//
|
//
|
||||||
|
public static void openGui() { // GUI oeffnen!
|
||||||
|
Anwendung jaujau = new Anwendung();
|
||||||
|
jaujau.gui.setVisible(true);
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
*/
|
*/
|
||||||
public void main()
|
public static void main(String[] args){
|
||||||
|
openGui();
|
||||||
|
|
||||||
|
//
|
||||||
|
// Other methods
|
||||||
|
//
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Launch the application.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*public static void main(String[] args)
|
||||||
{
|
{
|
||||||
|
System.out.println("Programm gestartet");
|
||||||
|
Anwendung jaujau = new Anwendung();
|
||||||
|
jaujau.gui.setVisible(true);
|
||||||
|
|
||||||
|
|
||||||
|
}*/
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -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 spieler spieler;
|
|
||||||
private spieler amZug;
|
|
||||||
private boolean aussetzen;
|
private boolean aussetzen;
|
||||||
private boolean zwei_ziehen;
|
private boolean zwei_ziehen;
|
||||||
|
private int kartenZiehen;
|
||||||
private Kartensatz kartensatz;
|
private Kartensatz kartensatz;
|
||||||
|
private Farbe gelegteFarbe;
|
||||||
|
private Wert gelegterWert;
|
||||||
|
|
||||||
//
|
|
||||||
// Constructors
|
|
||||||
//
|
|
||||||
public Spiel () { };
|
|
||||||
|
|
||||||
//
|
|
||||||
// Methods
|
|
||||||
//
|
|
||||||
|
|
||||||
|
|
||||||
//
|
|
||||||
// Accessor methods
|
|
||||||
//
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the value of spieler
|
* alterniert zwischen Spieler und Computer und legt Beginner fest
|
||||||
* @param newVar the new value of spieler
|
|
||||||
*/
|
*/
|
||||||
public void setSpieler (spieler newVar) {
|
private void spiel() {
|
||||||
spieler = newVar;
|
if(!spielgestartet) { //Starter durch zufall bestimmen
|
||||||
|
Random zufallszahl = new Random();
|
||||||
|
int zahl = zufallszahl.nextInt(1);
|
||||||
|
if(zahl == 1) {
|
||||||
|
amZug = Spieler.SPIELER;
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
/**
|
amZug = Spieler.COMPUTER;
|
||||||
* Get the value of spieler
|
|
||||||
* @return the value of spieler
|
|
||||||
*/
|
|
||||||
public spieler getSpieler () {
|
|
||||||
return spieler;
|
|
||||||
}
|
}
|
||||||
|
spielgestartet = true;
|
||||||
/**
|
kartensatz.ablegen(zufallszahl.nextInt(31));
|
||||||
* Set the value of amZug
|
return;
|
||||||
* @param newVar the new value of amZug
|
|
||||||
*/
|
|
||||||
public void setAmZug (spieler newVar) {
|
|
||||||
amZug = newVar;
|
|
||||||
}
|
}
|
||||||
|
if(amZug == Spieler.SPIELER) {
|
||||||
/**
|
amZug = Spieler.COMPUTER;
|
||||||
* Get the value of amZug
|
|
||||||
* @return the value of amZug
|
|
||||||
*/
|
|
||||||
public spieler getAmZug () {
|
|
||||||
return amZug;
|
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
/**
|
amZug= Spieler.SPIELER;
|
||||||
* Set the value of aussetzen
|
|
||||||
* @param newVar the new value of aussetzen
|
|
||||||
*/
|
|
||||||
public void setAussetzen (boolean newVar) {
|
|
||||||
aussetzen = newVar;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the value of aussetzen
|
|
||||||
* @return the value of aussetzen
|
|
||||||
*/
|
|
||||||
public boolean getAussetzen () {
|
|
||||||
return aussetzen;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the value of zwei_ziehen
|
|
||||||
* @param newVar the new value of zwei_ziehen
|
|
||||||
*/
|
|
||||||
public void setZwei_ziehen (boolean newVar) {
|
|
||||||
zwei_ziehen = newVar;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the value of zwei_ziehen
|
|
||||||
* @return the value of zwei_ziehen
|
|
||||||
*/
|
|
||||||
public boolean getZwei_ziehen () {
|
|
||||||
return zwei_ziehen;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the value of kartensatz
|
|
||||||
* @param newVar the new value of kartensatz
|
|
||||||
*/
|
|
||||||
public void setKartensatz (Kartensatz newVar) {
|
|
||||||
kartensatz = newVar;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the value of kartensatz
|
|
||||||
* @return the value of kartensatz
|
|
||||||
*/
|
|
||||||
public Kartensatz getKartensatz () {
|
|
||||||
return kartensatz;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
// Other methods
|
|
||||||
//
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param name
|
|
||||||
*/
|
|
||||||
private void zug(spieler name)
|
|
||||||
{
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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?
|
||||||
|
zugMoeglich();
|
||||||
|
Farbe legenFarbe;
|
||||||
|
Wert legenWert;
|
||||||
|
legenFarbe = kartensatz.getKarte(kartenindex).getFARBE();
|
||||||
|
legenWert = kartensatz.getKarte(kartenindex).getWERT();
|
||||||
|
|
||||||
|
if(zwei_ziehen && legenWert == Wert.SIEBEN) {
|
||||||
|
kartensatz.ablegen(kartenindex);
|
||||||
|
spiel();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(aussetzen && legenWert == Wert.ACHT) {
|
||||||
|
kartensatz.ablegen(kartenindex);
|
||||||
|
spiel();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(!aussetzen && !zwei_ziehen) {
|
||||||
|
if(legenFarbe == gelegteFarbe) {
|
||||||
|
kartensatz.ablegen(kartenindex);
|
||||||
|
spiel();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(legenWert == gelegterWert) {
|
||||||
|
kartensatz.ablegen(kartenindex);
|
||||||
|
spiel();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(aussetzen) {
|
||||||
|
spiel();
|
||||||
|
aussetzen = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* pr<70>ft ob eine Karte gezogen werden kann
|
||||||
|
*/
|
||||||
|
private void karteZiehen(){
|
||||||
|
zugMoeglich();
|
||||||
|
if(zwei_ziehen) {
|
||||||
|
for(int i = 0; i < kartenZiehen; i++) {
|
||||||
|
kartensatz.ziehen(amZug);
|
||||||
|
}
|
||||||
|
spiel();
|
||||||
|
kartenZiehen = 0;
|
||||||
|
zwei_ziehen = false;
|
||||||
|
}
|
||||||
|
if(aussetzen) {
|
||||||
|
spiel();
|
||||||
|
aussetzen = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* pr<70>ft ob ein Zug <20>berhaupt m<>glich ist und lie<69>t Werte zum weiterarbeiten ein
|
||||||
|
*/
|
||||||
|
private void zugMoeglich() {
|
||||||
|
gelegteFarbe = kartensatz.getKarte(kartensatz.getletzteKarte()).getFARBE();
|
||||||
|
gelegterWert = kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT();
|
||||||
|
if(gelegterWert == Wert.ACHT) {
|
||||||
|
aussetzen = true;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
aussetzen = false;
|
||||||
|
}
|
||||||
|
if(gelegterWert == Wert.SIEBEN) {
|
||||||
|
zwei_ziehen = true;
|
||||||
|
kartenZiehen += 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
@@ -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)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user