Merge branch 'patch-1' into 'master'
Patch 1 See merge request weicker/inb1-a-jaujau!7
This commit is contained in:
5
highscore.csv
Executable file
5
highscore.csv
Executable file
@@ -0,0 +1,5 @@
|
|||||||
|
Sebastian;1
|
||||||
|
Elmar;0
|
||||||
|
Fabian;0
|
||||||
|
Moritz;0
|
||||||
|
Alaa Aldin;0
|
|
@@ -1,15 +0,0 @@
|
|||||||
Seb 245
|
|
||||||
Elmo 240
|
|
||||||
Moritz 220
|
|
||||||
Alaa-Aldin 217
|
|
||||||
Fabian 215
|
|
||||||
Thomas 1233
|
|
||||||
Emil -21331
|
|
||||||
Heinz +312
|
|
||||||
Gert 234
|
|
||||||
Kasper 24
|
|
||||||
Jens 234
|
|
||||||
Paul 234
|
|
||||||
Till 553
|
|
||||||
Reiner 462
|
|
||||||
Achim 2344
|
|
BIN
src/JauJau UML.png
Normal file
BIN
src/JauJau UML.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 141 KiB |
166
src/JauJau UML.ucls
Normal file
166
src/JauJau UML.ucls
Normal file
@@ -0,0 +1,166 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<class-diagram version="1.2.4" icons="true" automaticImage="PNG" always-add-relationships="false" generalizations="true"
|
||||||
|
realizations="true" associations="true" dependencies="false" nesting-relationships="true" router="FAN">
|
||||||
|
<class id="1" language="java" name="de.jaujau.gui.Dashboard_GUI" project="inb1-a-jaujau"
|
||||||
|
file="/inb1-a-jaujau/src/de/jaujau/gui/Dashboard_GUI.java" binary="false" corner="BOTTOM_RIGHT">
|
||||||
|
<position height="-1" width="-1" x="1170" y="108"/>
|
||||||
|
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
|
||||||
|
sort-features="false" accessors="true" visibility="true">
|
||||||
|
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||||
|
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||||
|
</display>
|
||||||
|
</class>
|
||||||
|
<class id="2" language="java" name="de.jaujau.gui.Hilfe_GUI" project="inb1-a-jaujau"
|
||||||
|
file="/inb1-a-jaujau/src/de/jaujau/gui/Hilfe_GUI.java" binary="false" corner="BOTTOM_RIGHT">
|
||||||
|
<position height="-1" width="-1" x="1526" y="1382"/>
|
||||||
|
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
|
||||||
|
sort-features="false" accessors="true" visibility="true">
|
||||||
|
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||||
|
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||||
|
</display>
|
||||||
|
</class>
|
||||||
|
<class id="3" language="java" name="de.jaujau.gui.texturenauswaehlen_GUI" project="inb1-a-jaujau"
|
||||||
|
file="/inb1-a-jaujau/src/de/jaujau/gui/texturenauswaehlen_GUI.java" binary="false" corner="BOTTOM_RIGHT">
|
||||||
|
<position height="-1" width="-1" x="196" y="-272"/>
|
||||||
|
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
|
||||||
|
sort-features="false" accessors="true" visibility="true">
|
||||||
|
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||||
|
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||||
|
</display>
|
||||||
|
</class>
|
||||||
|
<class id="4" language="java" name="de.jaujau.gui.GUI" project="inb1-a-jaujau"
|
||||||
|
file="/inb1-a-jaujau/src/de/jaujau/gui/GUI.java" binary="false" corner="BOTTOM_RIGHT">
|
||||||
|
<position height="-1" width="-1" x="1516" y="1597"/>
|
||||||
|
<display autosize="true" stereotype="true" package="true" initial-value="false" signature="true"
|
||||||
|
sort-features="false" accessors="true" visibility="true">
|
||||||
|
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||||
|
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||||
|
</display>
|
||||||
|
</class>
|
||||||
|
<class id="5" language="java" name="de.jaujau.spiellogik.Computer_gegner" project="inb1-a-jaujau"
|
||||||
|
file="/inb1-a-jaujau/src/de/jaujau/spiellogik/Computer_gegner.java" binary="false" corner="BOTTOM_RIGHT">
|
||||||
|
<position height="-1" width="-1" x="845" y="1441"/>
|
||||||
|
<display autosize="true" stereotype="true" package="true" initial-value="true" signature="true"
|
||||||
|
sort-features="false" accessors="true" visibility="true">
|
||||||
|
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||||
|
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||||
|
</display>
|
||||||
|
</class>
|
||||||
|
<class id="6" language="java" name="de.jaujau.spiellogik.Anwendung" project="inb1-a-jaujau"
|
||||||
|
file="/inb1-a-jaujau/src/de/jaujau/spiellogik/Anwendung.java" binary="false" corner="BOTTOM_RIGHT">
|
||||||
|
<position height="-1" width="-1" x="446" y="1674"/>
|
||||||
|
<display autosize="true" stereotype="true" package="true" initial-value="true" signature="true"
|
||||||
|
sort-features="false" accessors="true" visibility="true">
|
||||||
|
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||||
|
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||||
|
</display>
|
||||||
|
</class>
|
||||||
|
<class id="7" language="java" name="de.jaujau.spiellogik.Spielzug" project="inb1-a-jaujau"
|
||||||
|
file="/inb1-a-jaujau/src/de/jaujau/spiellogik/Spielzug.java" binary="false" corner="BOTTOM_RIGHT">
|
||||||
|
<position height="-1" width="-1" x="1426" y="1063"/>
|
||||||
|
<display autosize="true" stereotype="true" package="true" initial-value="true" signature="true"
|
||||||
|
sort-features="false" accessors="true" visibility="true">
|
||||||
|
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||||
|
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||||
|
</display>
|
||||||
|
</class>
|
||||||
|
<class id="8" language="java" name="de.jaujau.spiellogik.Spiel" project="inb1-a-jaujau"
|
||||||
|
file="/inb1-a-jaujau/src/de/jaujau/spiellogik/Spiel.java" binary="false" corner="BOTTOM_RIGHT">
|
||||||
|
<position height="-1" width="-1" x="2049" y="982"/>
|
||||||
|
<display autosize="true" stereotype="true" package="true" initial-value="true" signature="true"
|
||||||
|
sort-features="false" accessors="true" visibility="true">
|
||||||
|
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||||
|
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||||
|
</display>
|
||||||
|
</class>
|
||||||
|
<association id="9">
|
||||||
|
<end type="SOURCE" refId="4" navigable="false">
|
||||||
|
<attribute id="10" name="aktuellesSpiel">
|
||||||
|
<position height="0" width="0" x="0" y="0"/>
|
||||||
|
</attribute>
|
||||||
|
<multiplicity id="11" minimum="0" maximum="1">
|
||||||
|
<position height="0" width="0" x="0" y="0"/>
|
||||||
|
</multiplicity>
|
||||||
|
</end>
|
||||||
|
<end type="TARGET" refId="8" navigable="true"/>
|
||||||
|
<display labels="true" multiplicity="true"/>
|
||||||
|
</association>
|
||||||
|
<association id="12">
|
||||||
|
<end type="SOURCE" refId="8" navigable="false">
|
||||||
|
<attribute id="13" name="spielzug">
|
||||||
|
<position height="0" width="0" x="0" y="0"/>
|
||||||
|
</attribute>
|
||||||
|
<multiplicity id="14" minimum="0" maximum="1">
|
||||||
|
<position height="0" width="0" x="0" y="0"/>
|
||||||
|
</multiplicity>
|
||||||
|
</end>
|
||||||
|
<end type="TARGET" refId="7" navigable="true"/>
|
||||||
|
<display labels="true" multiplicity="true"/>
|
||||||
|
</association>
|
||||||
|
<association id="15">
|
||||||
|
<end type="SOURCE" refId="8" navigable="false">
|
||||||
|
<attribute id="16" name="dashboard">
|
||||||
|
<position height="0" width="0" x="0" y="0"/>
|
||||||
|
</attribute>
|
||||||
|
<multiplicity id="17" minimum="0" maximum="1">
|
||||||
|
<position height="0" width="0" x="0" y="0"/>
|
||||||
|
</multiplicity>
|
||||||
|
</end>
|
||||||
|
<end type="TARGET" refId="1" navigable="true"/>
|
||||||
|
<display labels="true" multiplicity="true"/>
|
||||||
|
</association>
|
||||||
|
<association id="18">
|
||||||
|
<end type="SOURCE" refId="6" navigable="false">
|
||||||
|
<attribute id="19" name="view">
|
||||||
|
<position height="0" width="0" x="0" y="0"/>
|
||||||
|
</attribute>
|
||||||
|
<multiplicity id="20" minimum="0" maximum="1">
|
||||||
|
<position height="0" width="0" x="0" y="0"/>
|
||||||
|
</multiplicity>
|
||||||
|
</end>
|
||||||
|
<end type="TARGET" refId="4" navigable="true"/>
|
||||||
|
<display labels="true" multiplicity="true"/>
|
||||||
|
</association>
|
||||||
|
<association id="21">
|
||||||
|
<end type="SOURCE" refId="8" navigable="false">
|
||||||
|
<attribute id="22" name="computerGegner">
|
||||||
|
<position height="0" width="0" x="0" y="0"/>
|
||||||
|
</attribute>
|
||||||
|
<multiplicity id="23" minimum="0" maximum="1">
|
||||||
|
<position height="0" width="0" x="0" y="0"/>
|
||||||
|
</multiplicity>
|
||||||
|
</end>
|
||||||
|
<end type="TARGET" refId="5" navigable="true"/>
|
||||||
|
<display labels="true" multiplicity="true"/>
|
||||||
|
</association>
|
||||||
|
<association id="24">
|
||||||
|
<end type="SOURCE" refId="4" navigable="false">
|
||||||
|
<attribute id="25" name="frame">
|
||||||
|
<position height="0" width="0" x="0" y="0"/>
|
||||||
|
</attribute>
|
||||||
|
<multiplicity id="26" minimum="0" maximum="1">
|
||||||
|
<position height="0" width="0" x="0" y="0"/>
|
||||||
|
</multiplicity>
|
||||||
|
</end>
|
||||||
|
<end type="TARGET" refId="2" navigable="true"/>
|
||||||
|
<display labels="true" multiplicity="true"/>
|
||||||
|
</association>
|
||||||
|
<association id="27">
|
||||||
|
<end type="SOURCE" refId="1" navigable="false">
|
||||||
|
<attribute id="28" name="aktuellesSpiel">
|
||||||
|
<position height="0" width="0" x="0" y="0"/>
|
||||||
|
</attribute>
|
||||||
|
<multiplicity id="29" minimum="0" maximum="1">
|
||||||
|
<position height="0" width="0" x="0" y="0"/>
|
||||||
|
</multiplicity>
|
||||||
|
</end>
|
||||||
|
<end type="TARGET" refId="8" navigable="true"/>
|
||||||
|
<display labels="true" multiplicity="true"/>
|
||||||
|
</association>
|
||||||
|
<classifier-display autosize="true" stereotype="true" package="true" initial-value="true" signature="true"
|
||||||
|
sort-features="false" accessors="true" visibility="true">
|
||||||
|
<attributes public="true" package="true" protected="true" private="true" static="true"/>
|
||||||
|
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||||
|
</classifier-display>
|
||||||
|
<association-display labels="true" multiplicity="true"/>
|
||||||
|
</class-diagram>
|
@@ -5,7 +5,7 @@ package de.jaujau.UnitTests;
|
|||||||
import org.junit.jupiter.api.BeforeEach;
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import de.jaujau.daten.Audio;
|
import de.jaujau.audio.Audio;
|
||||||
|
|
||||||
class TEST_Audio {
|
class TEST_Audio {
|
||||||
|
|
||||||
|
@@ -5,9 +5,9 @@ import static org.junit.jupiter.api.Assertions.*;
|
|||||||
import org.junit.jupiter.api.BeforeEach;
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import de.jaujau.daten.Farbe;
|
import de.jaujau.karten.Farbe;
|
||||||
import de.jaujau.daten.Kartensatz;
|
import de.jaujau.karten.Kartensatz;
|
||||||
import de.jaujau.daten.Spieler;
|
import de.jaujau.karten.Spieler;
|
||||||
|
|
||||||
class TEST_Kartensatz {
|
class TEST_Kartensatz {
|
||||||
|
|
||||||
|
29
src/de/jaujau/UnitTests/TEST_Spielerverwaltung.java
Executable file
29
src/de/jaujau/UnitTests/TEST_Spielerverwaltung.java
Executable file
@@ -0,0 +1,29 @@
|
|||||||
|
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.spieler.Spielerverwaltung;
|
||||||
|
|
||||||
|
class TEST_Spielerverwaltung {
|
||||||
|
|
||||||
|
private Spielerverwaltung verwaltung;
|
||||||
|
|
||||||
|
@BeforeEach
|
||||||
|
void setUp() throws Exception {
|
||||||
|
verwaltung = new Spielerverwaltung("highscore.csv");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void test() {
|
||||||
|
verwaltung.lesenDatei();
|
||||||
|
verwaltung.setSpieler("Weihnachtsmann");
|
||||||
|
System.out.println("Spieler " + verwaltung.getSpieler());
|
||||||
|
System.out.println("Level " + verwaltung.getLevel());
|
||||||
|
verwaltung.erhoehePunkte(1);
|
||||||
|
verwaltung.schreibeDatei();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@@ -7,7 +7,7 @@ import java.awt.Image;
|
|||||||
import org.junit.jupiter.api.BeforeEach;
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import de.jaujau.daten.Texturenpaket;
|
import de.jaujau.texturen.Texturenpaket;
|
||||||
|
|
||||||
class TEST_Texturenpaket {
|
class TEST_Texturenpaket {
|
||||||
|
|
||||||
|
@@ -5,7 +5,8 @@ import static org.junit.jupiter.api.Assertions.*;
|
|||||||
import java.awt.Image;
|
import java.awt.Image;
|
||||||
|
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import de.jaujau.daten.TexturenpaketIntern;
|
|
||||||
|
import de.jaujau.texturen.TexturenpaketIntern;
|
||||||
|
|
||||||
class TEST_TexturenpaketIntern {
|
class TEST_TexturenpaketIntern {
|
||||||
|
|
||||||
|
@@ -5,7 +5,7 @@ import static org.junit.jupiter.api.Assertions.*;
|
|||||||
import org.junit.jupiter.api.BeforeEach;
|
import org.junit.jupiter.api.BeforeEach;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
import de.jaujau.daten.Texturenpakete;
|
import de.jaujau.texturen.Texturenpakete;
|
||||||
|
|
||||||
class TEST_Texturenpakete {
|
class TEST_Texturenpakete {
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
package de.jaujau.daten;
|
package de.jaujau.audio;
|
||||||
|
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
@@ -1,43 +0,0 @@
|
|||||||
/**
|
|
||||||
|
|
||||||
* @author Alaa Aldin
|
|
||||||
|
|
||||||
* @version 1.0
|
|
||||||
|
|
||||||
*/
|
|
||||||
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;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the value of punktestand
|
|
||||||
*
|
|
||||||
* @return the value of punktestand
|
|
||||||
*/
|
|
||||||
|
|
||||||
public int getPunktestand() {
|
|
||||||
return punktestand;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the value of name
|
|
||||||
*
|
|
||||||
* @return the value of name
|
|
||||||
*/
|
|
||||||
public String getName() {
|
|
||||||
return name;
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,132 +0,0 @@
|
|||||||
/**
|
|
||||||
|
|
||||||
* @author Alaa Aldin
|
|
||||||
|
|
||||||
* @version 1.0
|
|
||||||
|
|
||||||
*/
|
|
||||||
package de.jaujau.daten;
|
|
||||||
|
|
||||||
import java.io.BufferedReader;
|
|
||||||
import java.io.FileReader;
|
|
||||||
import java.io.IOException;
|
|
||||||
|
|
||||||
public class Spielerverwaltung {
|
|
||||||
|
|
||||||
private int level;
|
|
||||||
|
|
||||||
private Spielerdaten spieler;
|
|
||||||
|
|
||||||
private String name = "Mark Zuckerberg"; // Testeintrag
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the value of level
|
|
||||||
*
|
|
||||||
* @param newlevel the new value of level
|
|
||||||
*/
|
|
||||||
public void setLevel(int newlevel) {
|
|
||||||
level = newlevel;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the value of level
|
|
||||||
*
|
|
||||||
* @return the value of level
|
|
||||||
*/
|
|
||||||
public int getLevel() {
|
|
||||||
return level;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the value of name
|
|
||||||
*
|
|
||||||
* @return the value of name
|
|
||||||
*/
|
|
||||||
public String getName() {
|
|
||||||
|
|
||||||
return name;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the value of spieler arraylist von Spieler
|
|
||||||
*
|
|
||||||
* @param newSpieler the new value of spieler
|
|
||||||
*/
|
|
||||||
public void setSpieler(Spielerdaten newSpieler) {
|
|
||||||
spieler = newSpieler;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the value of spieler arraylist von Spieler
|
|
||||||
*
|
|
||||||
* @return the value of spieler
|
|
||||||
*/
|
|
||||||
public Spielerdaten getSpieler() {
|
|
||||||
return spieler;
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
// Other methods
|
|
||||||
//
|
|
||||||
|
|
||||||
/**
|
|
||||||
*/
|
|
||||||
public void leseDaten() {
|
|
||||||
throw new UnsupportedOperationException();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
*/
|
|
||||||
public void speichernDaten() {
|
|
||||||
throw new UnsupportedOperationException();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Die Highscore-datei wird geoeffnet und die Daten als zweidimensionales Array
|
|
||||||
// zurueckgegeben
|
|
||||||
public String[][] gethighscoreTabelle() {
|
|
||||||
String[][] rowData = new String[15][2];
|
|
||||||
BufferedReader reader;
|
|
||||||
try {
|
|
||||||
reader = new BufferedReader(new FileReader("highscore.txt"));
|
|
||||||
String line = reader.readLine();
|
|
||||||
char[] lineArray;
|
|
||||||
String name = "";
|
|
||||||
String score = "";
|
|
||||||
int zeilennummer = 0;
|
|
||||||
boolean insArray = false;
|
|
||||||
while (line != null) {
|
|
||||||
lineArray = line.toCharArray();
|
|
||||||
for (int i = 0; i < lineArray.length; i++) {
|
|
||||||
|
|
||||||
if (lineArray[i] != ' ' && score.length() == 0) {
|
|
||||||
name += lineArray[i];
|
|
||||||
} else if (lineArray[i] == ' ' && name.length() != 0) {
|
|
||||||
i++;
|
|
||||||
score += lineArray[i];
|
|
||||||
|
|
||||||
} else if (score.length() != 0) {
|
|
||||||
score += lineArray[i];
|
|
||||||
insArray = true;
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (insArray) {
|
|
||||||
rowData[zeilennummer][0] = name;
|
|
||||||
rowData[zeilennummer][1] = score;
|
|
||||||
insArray = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
zeilennummer++;
|
|
||||||
name = score = "";
|
|
||||||
line = reader.readLine();
|
|
||||||
}
|
|
||||||
reader.close();
|
|
||||||
|
|
||||||
} catch (IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
|
|
||||||
return rowData;
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,6 +1,6 @@
|
|||||||
package de.jaujau.gui;
|
package de.jaujau.gui;
|
||||||
import static de.jaujau.daten.Spieler.COMPUTER;
|
import static de.jaujau.karten.Spieler.COMPUTER;
|
||||||
import static de.jaujau.daten.Spieler.SPIELER;
|
import static de.jaujau.karten.Spieler.SPIELER;
|
||||||
|
|
||||||
import java.awt.BorderLayout;
|
import java.awt.BorderLayout;
|
||||||
import java.awt.CardLayout;
|
import java.awt.CardLayout;
|
||||||
@@ -9,11 +9,13 @@ import javax.swing.JPanel;
|
|||||||
import javax.swing.JScrollPane;
|
import javax.swing.JScrollPane;
|
||||||
import javax.swing.JTable;
|
import javax.swing.JTable;
|
||||||
import javax.swing.table.DefaultTableModel;
|
import javax.swing.table.DefaultTableModel;
|
||||||
import de.jaujau.daten.Farbe;
|
|
||||||
import de.jaujau.daten.Spieler;
|
import de.jaujau.karten.Farbe;
|
||||||
import de.jaujau.daten.Spielerverwaltung;
|
import de.jaujau.karten.Spieler;
|
||||||
import de.jaujau.daten.Texturenpakete;
|
import de.jaujau.spieler.Spielerverwaltung;
|
||||||
import de.jaujau.spiellogik.Spiel;
|
import de.jaujau.spiellogik.Spiel;
|
||||||
|
import de.jaujau.texturen.Texturenpakete;
|
||||||
|
|
||||||
import javax.swing.JLabel;
|
import javax.swing.JLabel;
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.awt.Image;
|
import java.awt.Image;
|
||||||
@@ -32,24 +34,24 @@ import javax.swing.JButton;
|
|||||||
|
|
||||||
public class Dashboard_GUI extends JPanel{
|
public class Dashboard_GUI extends JPanel{
|
||||||
private static final long serialVersionUID = -7380187913989942586L;
|
private static final long serialVersionUID = -7380187913989942586L;
|
||||||
JPanel panelCont = new JPanel();
|
private JPanel panelCont = new JPanel();
|
||||||
JPanel highscore = new JPanel();
|
private JPanel highscore = new JPanel();
|
||||||
JPanel game = new JPanel();
|
private JPanel game = new JPanel();
|
||||||
JPanel start = new JPanel();
|
private JPanel start = new JPanel();
|
||||||
CardLayout cl = new CardLayout();
|
private CardLayout cl = new CardLayout();
|
||||||
Spielerverwaltung spielerverwaltung = new Spielerverwaltung();
|
private Spielerverwaltung spielerverwaltung;
|
||||||
private final JPanel panel = new JPanel();
|
private final JPanel panel = new JPanel();
|
||||||
private final JPanel panel_1 = new JPanel();
|
private final JPanel panel_1 = new JPanel();
|
||||||
private JComboBox<String> comboBox = new JComboBox<String>();
|
private JComboBox<String> spielername = new JComboBox<String>();
|
||||||
private final JPanel panel_2 = new JPanel();
|
private final JPanel panel_2 = new JPanel();
|
||||||
private final JLabel lblNewLabel_1 = new JLabel("Entwickler: Sebastian, Moritz, Fabian, Aladin, Elmar");
|
private final JLabel lblNewLabel_1 = new JLabel("Entwickler: Sebastian, Moritz, Fabian, Aladin, Elmar");
|
||||||
private final JPanel spielfeld = new JPanel();
|
private final JPanel spielfeld = new JPanel();
|
||||||
private final JPanel player_hand = new JPanel();
|
private final JPanel player_hand = new JPanel();
|
||||||
private final JPanel gegner_hand = new JPanel();
|
private final JPanel gegner_hand = new JPanel();
|
||||||
JLabel ziehstapel = new JLabel("");
|
private JLabel ziehstapel = new JLabel("");
|
||||||
JPanel spielerkarten = new JPanel();
|
private JPanel spielerkarten = new JPanel();
|
||||||
JLabel labelsspieler[] = new JLabel[32];
|
private JLabel labelsspieler[] = new JLabel[32];
|
||||||
JLabel labelsgegner[] = new JLabel[32];
|
private JLabel labelsgegner[] = new JLabel[32];
|
||||||
private Spiel aktuellesSpiel;
|
private Spiel aktuellesSpiel;
|
||||||
private JLabel label_aktuellerSpieler;
|
private JLabel label_aktuellerSpieler;
|
||||||
private Texturenpakete texturenpakete;
|
private Texturenpakete texturenpakete;
|
||||||
@@ -57,25 +59,31 @@ public class Dashboard_GUI extends JPanel{
|
|||||||
private final JPanel info_panel = new JPanel();
|
private final JPanel info_panel = new JPanel();
|
||||||
private final JPanel rechts = new JPanel();
|
private final JPanel rechts = new JPanel();
|
||||||
private final JPanel mitte = new JPanel();
|
private final JPanel mitte = new JPanel();
|
||||||
JLabel ablagestapel = new JLabel("");
|
private JLabel ablagestapel = new JLabel("");
|
||||||
JButton aussetzen = new JButton("Aussetzen");
|
private JButton aussetzen = new JButton("Aussetzen");
|
||||||
JPanel mitte_unten = new JPanel();
|
private JPanel mitte_unten = new JPanel();
|
||||||
JPanel mitte_center = new JPanel();
|
private JPanel mitte_center = new JPanel();
|
||||||
private JPanel mitte_oben = new JPanel();
|
private JPanel mitte_oben = new JPanel();
|
||||||
private JButton btnherz = new JButton("Herz");
|
private JButton btnherz = new JButton("Herz");
|
||||||
private JButton btnpik = new JButton("Pik");
|
private JButton btnpik = new JButton("Pik");
|
||||||
private JButton btnkaro = new JButton("Karo");
|
private JButton btnkaro = new JButton("Karo");
|
||||||
private JButton btnkreuz = new JButton("Kreuz");
|
private JButton btnkreuz = new JButton("Kreuz");
|
||||||
private final JLabel label_final = new JLabel("Spiel beendet");
|
private final JLabel label_final = new JLabel("Spiel beendet");
|
||||||
private final JScrollPane gegnerkartenpane = new JScrollPane();
|
private JScrollPane gegnerkartenpane = new JScrollPane();
|
||||||
private final JPanel gegnerkarten = new JPanel();
|
private JPanel gegnerkarten = new JPanel();
|
||||||
|
private JButton getname = new JButton("setzen");
|
||||||
|
private JPanel panel_3 = new JPanel();
|
||||||
|
private final JLabel level_beschreibung = new JLabel("Aktuelles Level:");
|
||||||
|
private JLabel level_count = new JLabel("0");
|
||||||
|
private final JLabel lblNewLabel_2 = new JLabel("");
|
||||||
|
|
||||||
//Moving Image
|
//Moving Image
|
||||||
|
|
||||||
|
|
||||||
public Dashboard_GUI(Spiel Spiel, Texturenpakete texturen) {
|
public Dashboard_GUI(Spiel Spiel, Texturenpakete texturen, Spielerverwaltung speicherung) {
|
||||||
setMinimumSize(new Dimension(1000, 600));
|
setMinimumSize(new Dimension(1000, 600));
|
||||||
texturenpakete = texturen;
|
texturenpakete = texturen;
|
||||||
|
spielerverwaltung = speicherung;
|
||||||
|
|
||||||
|
|
||||||
System.out.println("DASHBOARD_GUI: Aktives: " + texturenpakete.getAktivesPaket());
|
System.out.println("DASHBOARD_GUI: Aktives: " + texturenpakete.getAktivesPaket());
|
||||||
@@ -83,10 +91,12 @@ public class Dashboard_GUI extends JPanel{
|
|||||||
aktuellesSpiel = Spiel;
|
aktuellesSpiel = Spiel;
|
||||||
setLayout(new BorderLayout(0, 0));
|
setLayout(new BorderLayout(0, 0));
|
||||||
panelCont.setLayout(cl);
|
panelCont.setLayout(cl);
|
||||||
|
highscore.setBackground(new Color(51, 51, 153));
|
||||||
panelCont.add(highscore, "1");
|
panelCont.add(highscore, "1");
|
||||||
|
game.setBackground(new Color(102, 102, 153));
|
||||||
panelCont.add(game, "2");
|
panelCont.add(game, "2");
|
||||||
game.setLayout(new BorderLayout(0, 0));
|
game.setLayout(new BorderLayout(0, 0));
|
||||||
spielfeld.setBackground(new Color(128, 128, 128));
|
spielfeld.setBackground(new Color(102, 102, 153));
|
||||||
|
|
||||||
game.add(spielfeld, BorderLayout.CENTER);
|
game.add(spielfeld, BorderLayout.CENTER);
|
||||||
spielfeld.setLayout(new BorderLayout(0, 0));
|
spielfeld.setLayout(new BorderLayout(0, 0));
|
||||||
@@ -100,13 +110,15 @@ public class Dashboard_GUI extends JPanel{
|
|||||||
spielfeld.add(player_hand, BorderLayout.SOUTH);
|
spielfeld.add(player_hand, BorderLayout.SOUTH);
|
||||||
|
|
||||||
JScrollPane spielerkartenpane = new JScrollPane();
|
JScrollPane spielerkartenpane = new JScrollPane();
|
||||||
|
spielerkartenpane.setBorder(null);
|
||||||
|
spielerkartenpane.setBackground(new Color(51, 51, 153));
|
||||||
spielerkartenpane.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
|
spielerkartenpane.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
|
||||||
spielerkartenpane.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
|
spielerkartenpane.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
|
||||||
spielerkartenpane.setPreferredSize(new Dimension(100, 240));
|
spielerkartenpane.setPreferredSize(new Dimension(100, 240));
|
||||||
player_hand.add(spielerkartenpane, BorderLayout.CENTER);
|
player_hand.add(spielerkartenpane, BorderLayout.CENTER);
|
||||||
|
|
||||||
|
|
||||||
spielerkarten.setBackground(Color.GRAY);
|
spielerkarten.setBackground(new Color(51, 51, 153));
|
||||||
spielerkarten.setAutoscrolls(true);
|
spielerkarten.setAutoscrolls(true);
|
||||||
spielerkarten.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
|
spielerkarten.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
|
||||||
spielerkarten.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
|
spielerkarten.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
|
||||||
@@ -114,13 +126,16 @@ public class Dashboard_GUI extends JPanel{
|
|||||||
gegner_hand.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
|
gegner_hand.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
|
||||||
|
|
||||||
gegner_hand.setPreferredSize(new Dimension(10, 150));
|
gegner_hand.setPreferredSize(new Dimension(10, 150));
|
||||||
gegner_hand.setBackground(Color.GRAY);
|
gegner_hand.setBackground(new Color(102, 102, 153));
|
||||||
gegner_hand.setLayout(new BorderLayout(0, 0));
|
gegner_hand.setLayout(new BorderLayout(0, 0));
|
||||||
spielfeld.add(gegner_hand, BorderLayout.NORTH);
|
spielfeld.add(gegner_hand, BorderLayout.NORTH);
|
||||||
|
gegnerkartenpane.setBorder(null);
|
||||||
|
gegnerkartenpane.setBackground(new Color(102, 102, 153));
|
||||||
gegnerkartenpane.setPreferredSize(new Dimension(100, 140));
|
gegnerkartenpane.setPreferredSize(new Dimension(100, 140));
|
||||||
gegnerkartenpane.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
|
gegnerkartenpane.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
|
||||||
|
|
||||||
gegner_hand.add(gegnerkartenpane, BorderLayout.CENTER);
|
gegner_hand.add(gegnerkartenpane, BorderLayout.CENTER);
|
||||||
|
gegnerkarten.setBackground(new Color(51, 51, 153));
|
||||||
gegnerkarten.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
|
gegnerkarten.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
|
||||||
gegnerkarten.setPreferredSize(new Dimension(10, 140));
|
gegnerkarten.setPreferredSize(new Dimension(10, 140));
|
||||||
|
|
||||||
@@ -130,19 +145,23 @@ public class Dashboard_GUI extends JPanel{
|
|||||||
spielfeldmitte.setLayout(new BorderLayout(0, 0));
|
spielfeldmitte.setLayout(new BorderLayout(0, 0));
|
||||||
JLabel beschreibung_aktuellerSpieler = new JLabel("Aktueller Spieler:");
|
JLabel beschreibung_aktuellerSpieler = new JLabel("Aktueller Spieler:");
|
||||||
beschreibung_aktuellerSpieler.setFont(new Font("Tahoma", Font.BOLD, 18));
|
beschreibung_aktuellerSpieler.setFont(new Font("Tahoma", Font.BOLD, 18));
|
||||||
beschreibung_aktuellerSpieler.setForeground(Color.BLACK);
|
beschreibung_aktuellerSpieler.setForeground(new Color(255, 255, 255));
|
||||||
|
info_panel.setBackground(new Color(51, 51, 153));
|
||||||
info_panel.add(beschreibung_aktuellerSpieler);
|
info_panel.add(beschreibung_aktuellerSpieler);
|
||||||
label_aktuellerSpieler = new JLabel("Auswahlphase");
|
label_aktuellerSpieler = new JLabel("Auswahlphase");
|
||||||
label_aktuellerSpieler.setForeground(Color.BLACK);
|
label_aktuellerSpieler.setForeground(new Color(255, 255, 255));
|
||||||
label_aktuellerSpieler.setFont(new Font("Tahoma", Font.BOLD, 18));
|
label_aktuellerSpieler.setFont(new Font("Tahoma", Font.BOLD, 18));
|
||||||
info_panel.add(label_aktuellerSpieler);
|
info_panel.add(label_aktuellerSpieler);
|
||||||
|
|
||||||
spielfeld.add(spielfeldmitte, BorderLayout.CENTER);
|
spielfeld.add(spielfeldmitte, BorderLayout.CENTER);
|
||||||
spielfeldmitte.add(info_panel, BorderLayout.NORTH);
|
spielfeldmitte.add(info_panel, BorderLayout.NORTH);
|
||||||
|
rechts.setBackground(new Color(51, 51, 153));
|
||||||
rechts.setPreferredSize(new Dimension(250, 10));
|
rechts.setPreferredSize(new Dimension(250, 10));
|
||||||
spielfeldmitte.add(rechts, BorderLayout.EAST);
|
spielfeldmitte.add(rechts, BorderLayout.EAST);
|
||||||
rechts.setLayout(new BorderLayout(0, 0));
|
rechts.setLayout(new BorderLayout(0, 0));
|
||||||
|
ziehstapel.setBackground(new Color(51, 51, 153));
|
||||||
rechts.add(ziehstapel, BorderLayout.CENTER);
|
rechts.add(ziehstapel, BorderLayout.CENTER);
|
||||||
|
mitte.setBackground(new Color(102, 102, 153));
|
||||||
|
|
||||||
spielfeldmitte.add(mitte, BorderLayout.CENTER);
|
spielfeldmitte.add(mitte, BorderLayout.CENTER);
|
||||||
aussetzen.setVisible(false);
|
aussetzen.setVisible(false);
|
||||||
@@ -154,6 +173,7 @@ public class Dashboard_GUI extends JPanel{
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
mitte.setLayout(new BorderLayout(0, 0));
|
mitte.setLayout(new BorderLayout(0, 0));
|
||||||
|
mitte_unten.setBackground(new Color(51, 51, 153));
|
||||||
mitte_unten.setPreferredSize(new Dimension(150, 50));
|
mitte_unten.setPreferredSize(new Dimension(150, 50));
|
||||||
mitte_unten.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
|
mitte_unten.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
|
||||||
btnherz.setVisible(false);
|
btnherz.setVisible(false);
|
||||||
@@ -161,7 +181,9 @@ public class Dashboard_GUI extends JPanel{
|
|||||||
|
|
||||||
mitte_unten.add(btnherz);
|
mitte_unten.add(btnherz);
|
||||||
mitte_unten.add(aussetzen);
|
mitte_unten.add(aussetzen);
|
||||||
|
mitte_center.setBackground(new Color(51, 51, 153));
|
||||||
mitte_center.setLayout(new BorderLayout(0, 0));
|
mitte_center.setLayout(new BorderLayout(0, 0));
|
||||||
|
ablagestapel.setBackground(new Color(51, 51, 153));
|
||||||
ablagestapel.setHorizontalAlignment(SwingConstants.CENTER);
|
ablagestapel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
ablagestapel.setHorizontalTextPosition(SwingConstants.CENTER);
|
ablagestapel.setHorizontalTextPosition(SwingConstants.CENTER);
|
||||||
ablagestapel.setAlignmentX(Component.CENTER_ALIGNMENT);
|
ablagestapel.setAlignmentX(Component.CENTER_ALIGNMENT);
|
||||||
@@ -175,7 +197,7 @@ public class Dashboard_GUI extends JPanel{
|
|||||||
label_final.setVisible(false);
|
label_final.setVisible(false);
|
||||||
label_final.setFont(new Font("Tahoma", Font.PLAIN, 34));
|
label_final.setFont(new Font("Tahoma", Font.PLAIN, 34));
|
||||||
label_final.setHorizontalAlignment(SwingConstants.CENTER);
|
label_final.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
label_final.setForeground(Color.BLACK);
|
label_final.setForeground(new Color(255, 255, 255));
|
||||||
|
|
||||||
mitte_center.add(label_final, BorderLayout.SOUTH);
|
mitte_center.add(label_final, BorderLayout.SOUTH);
|
||||||
|
|
||||||
@@ -220,24 +242,64 @@ public class Dashboard_GUI extends JPanel{
|
|||||||
});
|
});
|
||||||
|
|
||||||
mitte_unten.add(btnkreuz);
|
mitte_unten.add(btnkreuz);
|
||||||
|
mitte_oben.setBackground(new Color(51, 51, 153));
|
||||||
mitte_oben.setPreferredSize(new Dimension(150, 50));
|
mitte_oben.setPreferredSize(new Dimension(150, 50));
|
||||||
|
|
||||||
mitte.add(mitte_oben, BorderLayout.NORTH);
|
mitte.add(mitte_oben, BorderLayout.NORTH);
|
||||||
mitte_oben.setLayout(new BorderLayout(0, 0));
|
mitte_oben.setLayout(new BorderLayout(0, 0));
|
||||||
|
start.setBackground(new Color(51, 51, 153));
|
||||||
|
start.setForeground(Color.WHITE);
|
||||||
panelCont.add(start, "3");
|
panelCont.add(start, "3");
|
||||||
start.setLayout(new BorderLayout(0, 0));
|
start.setLayout(new BorderLayout(0, 0));
|
||||||
|
panel.setBackground(new Color(51, 51, 153));
|
||||||
panel.setPreferredSize(new Dimension(10, 30));
|
panel.setPreferredSize(new Dimension(10, 30));
|
||||||
|
|
||||||
start.add(panel, BorderLayout.NORTH);
|
start.add(panel, BorderLayout.NORTH);
|
||||||
|
|
||||||
JLabel lblNewLabel = new JLabel("Spielername:");
|
JLabel lblNewLabel = new JLabel("Spielername:");
|
||||||
|
lblNewLabel.setFont(new Font("Tahoma", Font.BOLD, 13));
|
||||||
|
lblNewLabel.setForeground(new Color(255, 255, 255));
|
||||||
panel.add(lblNewLabel);
|
panel.add(lblNewLabel);
|
||||||
comboBox.setMinimumSize(new Dimension(60, 22));
|
spielername.setMinimumSize(new Dimension(60, 22));
|
||||||
comboBox.setEditable(true);
|
spielername.setEditable(true);
|
||||||
panel.add(comboBox);
|
panel.add(spielername);
|
||||||
|
panel.add(getname);
|
||||||
|
getname.addMouseListener(new MouseAdapter() {
|
||||||
|
@Override
|
||||||
|
public void mouseClicked(MouseEvent e) {
|
||||||
|
speicherung.setSpieler(getspielername());
|
||||||
|
level_count.setText(Integer.toString(speicherung.getLevel()));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
panel_1.setBackground(new Color(51, 51, 153));
|
||||||
start.add(panel_1, BorderLayout.CENTER);
|
start.add(panel_1, BorderLayout.CENTER);
|
||||||
|
panel_1.setLayout(new BorderLayout(0, 0));
|
||||||
|
panel_3.setBackground(new Color(51, 51, 153));
|
||||||
|
panel_3.setPreferredSize(new Dimension(100, 40));
|
||||||
|
|
||||||
|
panel_1.add(panel_3, BorderLayout.NORTH);
|
||||||
|
level_beschreibung.setForeground(new Color(255, 255, 255));
|
||||||
|
level_beschreibung.setHorizontalTextPosition(SwingConstants.CENTER);
|
||||||
|
level_beschreibung.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
level_beschreibung.setFont(new Font("Tahoma", Font.PLAIN, 22));
|
||||||
|
|
||||||
|
panel_3.add(level_beschreibung);
|
||||||
|
level_count.setForeground(new Color(255, 255, 255));
|
||||||
|
level_count.setFont(new Font("Tahoma", Font.PLAIN, 22));
|
||||||
|
|
||||||
|
panel_3.add(level_count);
|
||||||
|
lblNewLabel_2.setForeground(Color.LIGHT_GRAY);
|
||||||
|
lblNewLabel_2.setBackground(Color.LIGHT_GRAY);
|
||||||
|
lblNewLabel_2.setHorizontalTextPosition(SwingConstants.CENTER);
|
||||||
|
lblNewLabel_2.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
|
lblNewLabel_2.setIcon(new ImageIcon(Dashboard_GUI.class.getResource("/img/jaujau.gif")));
|
||||||
|
|
||||||
|
panel_1.add(lblNewLabel_2, BorderLayout.CENTER);
|
||||||
|
panel_2.setBackground(new Color(0, 0, 153));
|
||||||
|
|
||||||
start.add(panel_2, BorderLayout.SOUTH);
|
start.add(panel_2, BorderLayout.SOUTH);
|
||||||
|
lblNewLabel_1.setFont(new Font("Tahoma", Font.BOLD | Font.ITALIC, 14));
|
||||||
|
lblNewLabel_1.setForeground(new Color(255, 255, 255));
|
||||||
|
|
||||||
panel_2.add(lblNewLabel_1);
|
panel_2.add(lblNewLabel_1);
|
||||||
|
|
||||||
@@ -254,6 +316,7 @@ public class Dashboard_GUI extends JPanel{
|
|||||||
public void showgame(Spiel Spiel){
|
public void showgame(Spiel Spiel){
|
||||||
//Neues Spiel wird übergeben
|
//Neues Spiel wird übergeben
|
||||||
aktuellesSpiel = Spiel;
|
aktuellesSpiel = Spiel;
|
||||||
|
texturenpakete.pruefeLevel(spielerverwaltung.getLevel());
|
||||||
System.out.println("DASHBOARD: Game darstellen");
|
System.out.println("DASHBOARD: Game darstellen");
|
||||||
cl.show(panelCont, "2");
|
cl.show(panelCont, "2");
|
||||||
showwunsch(false);
|
showwunsch(false);
|
||||||
@@ -283,22 +346,29 @@ public class Dashboard_GUI extends JPanel{
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void renderStart(){
|
private void renderStart(){
|
||||||
comboBox.removeAllItems();
|
spielername.removeAllItems();
|
||||||
for(int i = 0; i<spielerverwaltung.gethighscoreTabelle().length; i++) {
|
for(int i = 0; i<spielerverwaltung.getHighscoreTabelle().length; i++) {
|
||||||
comboBox.addItem(spielerverwaltung.gethighscoreTabelle()[i][0]);
|
spielername.addItem(spielerverwaltung.getHighscoreTabelle()[i][0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Highscore Tabelle
|
// Highscore Tabelle
|
||||||
public void renderHighscore() {
|
private void renderHighscore() {
|
||||||
|
|
||||||
|
for(Component c : highscore.getComponents()){
|
||||||
|
highscore.remove(c);
|
||||||
|
highscore.revalidate();
|
||||||
|
}
|
||||||
|
|
||||||
|
String[][] rowData = spielerverwaltung.getHighscoreTabelle(); //Bsp. Datensatz muss noch entfernt werden.
|
||||||
String[][] rowData = spielerverwaltung.gethighscoreTabelle(); //Bsp. Datensatz muss noch entfernt werden.
|
|
||||||
|
|
||||||
String[] columnNames = {"Name", "Punkte"};
|
String[] columnNames = {"Name", "Punkte"};
|
||||||
|
|
||||||
|
for(int i = 0; i < rowData.length; i++) {
|
||||||
|
System.out.println("DASHBOARD_GUI:" + rowData[i][1]);
|
||||||
|
}
|
||||||
highscore.setLayout(new BorderLayout(0, 0));
|
highscore.setLayout(new BorderLayout(0, 0));
|
||||||
JTable table = new JTable(); //Leere Tabelle
|
JTable table = new JTable(); //Leere Tabelle
|
||||||
DefaultTableModel tableModel = new DefaultTableModel(rowData, columnNames) { //Tabelle formatieren und Zellen nicht bearbeitbar machen
|
DefaultTableModel tableModel = new DefaultTableModel(rowData, columnNames) { //Tabelle formatieren und Zellen nicht bearbeitbar machen
|
||||||
@@ -318,7 +388,7 @@ public class Dashboard_GUI extends JPanel{
|
|||||||
|
|
||||||
|
|
||||||
//Spielerhand GUI
|
//Spielerhand GUI
|
||||||
public void aktualisiereHand() {
|
private void aktualisiereHand() {
|
||||||
//Alle Elemente entfernen
|
//Alle Elemente entfernen
|
||||||
for(Component c : spielerkarten.getComponents()){
|
for(Component c : spielerkarten.getComponents()){
|
||||||
spielerkarten.remove(c);
|
spielerkarten.remove(c);
|
||||||
@@ -357,7 +427,7 @@ public class Dashboard_GUI extends JPanel{
|
|||||||
|
|
||||||
|
|
||||||
//Gegnerhand GUI
|
//Gegnerhand GUI
|
||||||
public void aktualisiereGegnerHand() {
|
private void aktualisiereGegnerHand() {
|
||||||
|
|
||||||
//Alle Elemente entfernen
|
//Alle Elemente entfernen
|
||||||
for(Component c : gegnerkarten.getComponents()){
|
for(Component c : gegnerkarten.getComponents()){
|
||||||
@@ -385,7 +455,7 @@ public class Dashboard_GUI extends JPanel{
|
|||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
public void aktualisiereAblage(){
|
private void aktualisiereAblage(){
|
||||||
|
|
||||||
//Sleep oder Wait Funktion zum Verlangsamen der Anzeige
|
//Sleep oder Wait Funktion zum Verlangsamen der Anzeige
|
||||||
|
|
||||||
@@ -394,7 +464,7 @@ public class Dashboard_GUI extends JPanel{
|
|||||||
ablagestapel.repaint();
|
ablagestapel.repaint();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void aktualisiereSpieleranzeige() {
|
private void aktualisiereSpieleranzeige() {
|
||||||
if(aktuellesSpiel.getamZug() == Spieler.COMPUTER) {
|
if(aktuellesSpiel.getamZug() == Spieler.COMPUTER) {
|
||||||
label_aktuellerSpieler.setText("Gegner");
|
label_aktuellerSpieler.setText("Gegner");
|
||||||
label_aktuellerSpieler.setForeground(Color.RED);
|
label_aktuellerSpieler.setForeground(Color.RED);
|
||||||
@@ -411,7 +481,7 @@ public class Dashboard_GUI extends JPanel{
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void aktualisiereZiehen() {
|
private void aktualisiereZiehen() {
|
||||||
|
|
||||||
for(Component c : rechts.getComponents()){
|
for(Component c : rechts.getComponents()){
|
||||||
rechts.remove(c);
|
rechts.remove(c);
|
||||||
@@ -469,6 +539,10 @@ public class Dashboard_GUI extends JPanel{
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String getspielername(){
|
||||||
|
return (String) (spielername.getEditor().getItem());
|
||||||
|
}
|
||||||
|
|
||||||
public void gewonnen(Spieler spieler) {
|
public void gewonnen(Spieler spieler) {
|
||||||
|
|
||||||
if(spieler == SPIELER) {
|
if(spieler == SPIELER) {
|
||||||
|
@@ -10,24 +10,30 @@ import javax.swing.JLabel;
|
|||||||
import javax.swing.ImageIcon;
|
import javax.swing.ImageIcon;
|
||||||
import javax.swing.SwingConstants;
|
import javax.swing.SwingConstants;
|
||||||
|
|
||||||
import de.jaujau.daten.Spielerverwaltung;
|
import de.jaujau.spieler.Spielerverwaltung;
|
||||||
import de.jaujau.daten.Texturenpakete;
|
|
||||||
import de.jaujau.spiellogik.Spiel;
|
import de.jaujau.spiellogik.Spiel;
|
||||||
|
import de.jaujau.texturen.Texturenpakete;
|
||||||
|
|
||||||
import java.awt.event.MouseAdapter;
|
import java.awt.event.MouseAdapter;
|
||||||
import java.awt.event.MouseEvent;
|
import java.awt.event.MouseEvent;
|
||||||
|
import java.awt.event.WindowAdapter;
|
||||||
|
import java.awt.event.WindowEvent;
|
||||||
|
|
||||||
import javax.swing.BoxLayout;
|
import javax.swing.BoxLayout;
|
||||||
import java.awt.Font;
|
import java.awt.Font;
|
||||||
|
import java.awt.Toolkit;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class GUI
|
* Klasse GUI
|
||||||
|
* @author Elmar Kresse
|
||||||
|
* Diese Klasse gibt das JFrame und die Navigation und kann darüber die einzelnen Dashboard Tabs aufrufen und die Texturenauswahl und Hilfe anzeigen.
|
||||||
*/
|
*/
|
||||||
public class GUI extends JFrame{
|
public class GUI extends JFrame{
|
||||||
|
|
||||||
//
|
//
|
||||||
// Fields
|
// Variablen
|
||||||
//
|
//
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
private boolean menuehidden = false;
|
private boolean menuehidden = false;
|
||||||
@@ -35,18 +41,19 @@ public class GUI extends JFrame{
|
|||||||
private Spiel aktuellesSpiel;
|
private Spiel aktuellesSpiel;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Constructors
|
// Konstruktor
|
||||||
//
|
//
|
||||||
public GUI (Texturenpakete texturenpakete, Spielerverwaltung speicherung) {
|
public GUI (Texturenpakete texturenpakete, Spielerverwaltung speicherung) {
|
||||||
|
setIconImage(Toolkit.getDefaultToolkit().getImage(GUI.class.getResource("/img/jaujau.png")));
|
||||||
setMinimumSize(new Dimension(1000, 600));
|
setMinimumSize(new Dimension(1000, 600));
|
||||||
|
|
||||||
|
//JFrame Variablen
|
||||||
// jaujau.getAktuellesSpiel();
|
|
||||||
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||||
setTitle("JauJau");
|
setTitle("JauJau");
|
||||||
setPreferredSize(new Dimension(800, 500));
|
setPreferredSize(new Dimension(800, 500));
|
||||||
setSize(1565, 916);
|
setSize(1565, 916);
|
||||||
getContentPane().setLayout(new BorderLayout(0, 0));
|
getContentPane().setLayout(new BorderLayout(0, 0));
|
||||||
|
|
||||||
|
|
||||||
JPanel Menue = new JPanel();
|
JPanel Menue = new JPanel();
|
||||||
Menue.setPreferredSize(new Dimension(270, 450));
|
Menue.setPreferredSize(new Dimension(270, 450));
|
||||||
@@ -113,26 +120,27 @@ public class GUI extends JFrame{
|
|||||||
gamelabel.setBounds(0, 91, 220, 29);
|
gamelabel.setBounds(0, 91, 220, 29);
|
||||||
menuhide.add(gamelabel);
|
menuhide.add(gamelabel);
|
||||||
|
|
||||||
|
|
||||||
|
//Texturen Label
|
||||||
JLabel texturenlabel = new JLabel("Texturen");
|
JLabel texturenlabel = new JLabel("Texturen");
|
||||||
|
|
||||||
texturenlabel.setHorizontalAlignment(SwingConstants.CENTER);
|
texturenlabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
texturenlabel.setForeground(Color.WHITE);
|
texturenlabel.setForeground(Color.WHITE);
|
||||||
texturenlabel.setFont(new Font("Tahoma", Font.PLAIN, 24));
|
texturenlabel.setFont(new Font("Tahoma", Font.PLAIN, 24));
|
||||||
texturenlabel.setBounds(0, 131, 220, 29);
|
texturenlabel.setBounds(0, 131, 220, 29);
|
||||||
menuhide.add(texturenlabel);
|
menuhide.add(texturenlabel);
|
||||||
|
|
||||||
|
//Dashboard hinzufügen
|
||||||
JPanel dashboard = new JPanel();
|
JPanel dashboard = new JPanel();
|
||||||
dashboard.setBackground(new Color(73, 128, 242));
|
dashboard.setBackground(new Color(73, 128, 242));
|
||||||
getContentPane().add(dashboard, BorderLayout.CENTER);
|
getContentPane().add(dashboard, BorderLayout.CENTER);
|
||||||
dashboard.setLayout(new BorderLayout(0, 0));
|
dashboard.setLayout(new BorderLayout(0, 0));
|
||||||
|
Dashboard_GUI Dashboard_GUI = new Dashboard_GUI(aktuellesSpiel, texturenpakete, speicherung);
|
||||||
Dashboard_GUI Dashboard_GUI = new Dashboard_GUI(aktuellesSpiel, texturenpakete);
|
|
||||||
|
|
||||||
//Spiel_GUI Spiel_GUI = new Spiel_GUI();
|
|
||||||
dashboard.add(Dashboard_GUI, BorderLayout.CENTER);
|
dashboard.add(Dashboard_GUI, BorderLayout.CENTER);
|
||||||
|
|
||||||
//Event Listener
|
//Event Listener für die Buttons / Label
|
||||||
|
|
||||||
|
|
||||||
|
//Sidemenue Anzeigen Einklappen
|
||||||
menuebtn.addMouseListener(new MouseAdapter() {
|
menuebtn.addMouseListener(new MouseAdapter() {
|
||||||
@Override
|
@Override
|
||||||
public void mouseClicked(MouseEvent e) {
|
public void mouseClicked(MouseEvent e) {
|
||||||
@@ -148,8 +156,8 @@ public class GUI extends JFrame{
|
|||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
//Hilfe anzeigen/ausblenden
|
||||||
help.addMouseListener(new MouseAdapter() {
|
help.addMouseListener(new MouseAdapter() {
|
||||||
public void mouseClicked(MouseEvent e) {
|
public void mouseClicked(MouseEvent e) {
|
||||||
if(frame.isShowing() == true) {
|
if(frame.isShowing() == true) {
|
||||||
@@ -161,12 +169,17 @@ public class GUI extends JFrame{
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
//Spiel starten -- Label zum starten des Spiels
|
||||||
gamelabel.addMouseListener(new MouseAdapter() {
|
gamelabel.addMouseListener(new MouseAdapter() {
|
||||||
public void mouseClicked(MouseEvent e) {
|
public void mouseClicked(MouseEvent e) {
|
||||||
aktuellesSpiel = new Spiel(Dashboard_GUI);
|
aktuellesSpiel = new Spiel(Dashboard_GUI, speicherung);
|
||||||
System.out.println("GUI: Spiel GUI ge<67>ffnet");
|
if(speicherung.getSpieler() == "") {
|
||||||
Dashboard_GUI.showgame(aktuellesSpiel);
|
System.out.println("GUI: Kein Spieler gesetzt");
|
||||||
|
}else{
|
||||||
|
System.out.println("GUI: Spiel GUI geöffnet");
|
||||||
|
Dashboard_GUI.showgame(aktuellesSpiel);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -174,7 +187,7 @@ public class GUI extends JFrame{
|
|||||||
highscorelabel.addMouseListener(new MouseAdapter() {
|
highscorelabel.addMouseListener(new MouseAdapter() {
|
||||||
@Override
|
@Override
|
||||||
public void mouseClicked(MouseEvent e) {
|
public void mouseClicked(MouseEvent e) {
|
||||||
System.out.println("GUI: Highscore ge<EFBFBD>ffnet");
|
System.out.println("GUI: Highscore geöffnet");
|
||||||
Dashboard_GUI.showhighscore();
|
Dashboard_GUI.showhighscore();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -184,7 +197,7 @@ public class GUI extends JFrame{
|
|||||||
startlabel.addMouseListener(new MouseAdapter() {
|
startlabel.addMouseListener(new MouseAdapter() {
|
||||||
@Override
|
@Override
|
||||||
public void mouseClicked(MouseEvent e) {
|
public void mouseClicked(MouseEvent e) {
|
||||||
System.out.println("GUI: Start ge<EFBFBD>ffnet");
|
System.out.println("GUI: Start geöffnet");
|
||||||
Dashboard_GUI.showstart();
|
Dashboard_GUI.showstart();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -194,10 +207,22 @@ public class GUI extends JFrame{
|
|||||||
texturenlabel.addMouseListener(new MouseAdapter() {
|
texturenlabel.addMouseListener(new MouseAdapter() {
|
||||||
@Override
|
@Override
|
||||||
public void mouseClicked(MouseEvent e) {
|
public void mouseClicked(MouseEvent e) {
|
||||||
texturenauswaehlen_GUI texturenauswahl = new texturenauswaehlen_GUI(texturenpakete);
|
texturenauswaehlen_GUI texturenauswahl = new texturenauswaehlen_GUI(texturenpakete, speicherung);
|
||||||
|
System.out.println("GUI: Start geöffnet");
|
||||||
texturenauswahl.setVisible(true);
|
texturenauswahl.setVisible(true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
addWindowListener(new WindowAdapter()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public void windowClosing(WindowEvent e)
|
||||||
|
{
|
||||||
|
System.out.println("GUI: Geschlossen");
|
||||||
|
speicherung.schreibeDatei();
|
||||||
|
e.getWindow().dispose();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -13,13 +13,15 @@ import javax.swing.JTextArea;
|
|||||||
public class Hilfe_GUI extends JFrame {
|
public class Hilfe_GUI extends JFrame {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
* Klasse Hilfe_GUI
|
||||||
|
* @author Elmar Kresse
|
||||||
|
* Diese Klasse erstelt ein Fenster für die Hilfe
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
private JPanel contentPane;
|
private JPanel contentPane;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create the frame.
|
* Erstelle das JFrame
|
||||||
*/
|
*/
|
||||||
public Hilfe_GUI() {
|
public Hilfe_GUI() {
|
||||||
setAlwaysOnTop(true);
|
setAlwaysOnTop(true);
|
||||||
|
@@ -1,126 +0,0 @@
|
|||||||
package de.jaujau.gui;
|
|
||||||
import java.awt.Dimension;
|
|
||||||
import java.awt.event.ActionEvent;
|
|
||||||
import java.awt.event.ActionListener;
|
|
||||||
import javax.swing.JPanel;
|
|
||||||
import javax.swing.SwingConstants;
|
|
||||||
import java.awt.BorderLayout;
|
|
||||||
import java.awt.event.MouseAdapter;
|
|
||||||
import java.awt.event.MouseEvent;
|
|
||||||
import javax.swing.JLabel;
|
|
||||||
import java.awt.Color;
|
|
||||||
import java.awt.Font;
|
|
||||||
import java.awt.GridLayout;
|
|
||||||
import java.awt.Image;
|
|
||||||
import javax.swing.BoxLayout;
|
|
||||||
import java.awt.Component;
|
|
||||||
import javax.swing.ImageIcon;
|
|
||||||
|
|
||||||
|
|
||||||
public class Navigation_GUI
|
|
||||||
extends JPanel
|
|
||||||
implements ActionListener {
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
private JPanel panel;
|
|
||||||
|
|
||||||
|
|
||||||
// Konstruktor
|
|
||||||
public Navigation_GUI() {
|
|
||||||
|
|
||||||
// Hiermit bekommst du Zugriff auf das <20>bergebene Objekt mainPanel
|
|
||||||
setLayout(new BoxLayout(this, BoxLayout.X_AXIS));
|
|
||||||
|
|
||||||
panel = new JPanel();
|
|
||||||
panel.setBackground(new Color(102, 153, 204));
|
|
||||||
add(panel);
|
|
||||||
panel.setLayout(new BorderLayout(0, 0));
|
|
||||||
|
|
||||||
JPanel panel_side = new JPanel();
|
|
||||||
panel_side.setBackground(new Color(100, 149, 237));
|
|
||||||
panel_side.setPreferredSize(new Dimension(200, 400));
|
|
||||||
panel.add(panel_side, BorderLayout.CENTER);
|
|
||||||
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.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_1 = new JPanel();
|
|
||||||
panel_side.add(panel_1, BorderLayout.CENTER);
|
|
||||||
|
|
||||||
JPanel panel_2 = new JPanel();
|
|
||||||
panel_2.addMouseListener(new MouseAdapter() {
|
|
||||||
@Override
|
|
||||||
public void mouseClicked(MouseEvent e) {
|
|
||||||
}
|
|
||||||
});
|
|
||||||
panel_2.setBackground(new Color(0, 102, 204));
|
|
||||||
|
|
||||||
JLabel lblNewLabel_1 = new JLabel("Start");
|
|
||||||
lblNewLabel_1.setBackground(new Color(0, 102, 204));
|
|
||||||
lblNewLabel_1.setForeground(Color.WHITE);
|
|
||||||
lblNewLabel_1.setFont(new Font("Tahoma", Font.PLAIN, 20));
|
|
||||||
panel_2.add(lblNewLabel_1);
|
|
||||||
|
|
||||||
JLabel label = new JLabel("");
|
|
||||||
|
|
||||||
JPanel panel_3 = new JPanel();
|
|
||||||
panel_3.addMouseListener(new MouseAdapter() {
|
|
||||||
@Override
|
|
||||||
public void mouseClicked(MouseEvent e) {
|
|
||||||
}
|
|
||||||
});
|
|
||||||
panel_3.setBackground(new Color(0, 102, 204));
|
|
||||||
|
|
||||||
JLabel lblNewLabel_2 = new JLabel("Highscore");
|
|
||||||
lblNewLabel_2.setForeground(new Color(255, 255, 255));
|
|
||||||
lblNewLabel_2.setFont(new Font("Tahoma", Font.PLAIN, 20));
|
|
||||||
panel_3.add(lblNewLabel_2);
|
|
||||||
panel_1.setLayout(new GridLayout(0, 1, 0, 0));
|
|
||||||
panel_1.add(panel_2);
|
|
||||||
|
|
||||||
JLabel label_1 = new JLabel("");
|
|
||||||
panel_1.add(label_1);
|
|
||||||
|
|
||||||
JLabel label_2 = new JLabel("");
|
|
||||||
panel_1.add(label_2);
|
|
||||||
panel_1.add(label);
|
|
||||||
panel_1.add(panel_3);
|
|
||||||
|
|
||||||
|
|
||||||
//Schlie<69>e Button Panel
|
|
||||||
panel.addMouseListener(new MouseAdapter() {
|
|
||||||
@Override
|
|
||||||
public void mouseClicked(MouseEvent e) {
|
|
||||||
panel_1.setVisible(false);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
// In dieser Methode <20>nderst du das anzuzeigende Panel
|
|
||||||
// <20>ber die showPanel-Methode in mainPanel
|
|
||||||
public void actionPerformed(ActionEvent e) {
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,10 +1,9 @@
|
|||||||
package de.jaujau.gui;
|
package de.jaujau.gui;
|
||||||
|
|
||||||
import java.awt.BorderLayout;
|
|
||||||
import java.awt.Font;
|
import java.awt.Font;
|
||||||
import java.awt.Image;
|
import java.awt.Image;
|
||||||
import java.awt.event.ItemEvent;
|
|
||||||
import java.awt.event.ItemListener;
|
|
||||||
|
|
||||||
import javax.swing.ImageIcon;
|
import javax.swing.ImageIcon;
|
||||||
import javax.swing.JButton;
|
import javax.swing.JButton;
|
||||||
@@ -14,33 +13,47 @@ import javax.swing.JPanel;
|
|||||||
import javax.swing.SwingConstants;
|
import javax.swing.SwingConstants;
|
||||||
import javax.swing.border.EmptyBorder;
|
import javax.swing.border.EmptyBorder;
|
||||||
|
|
||||||
import de.jaujau.daten.Texturenpakete;
|
import de.jaujau.spieler.Spielerverwaltung;
|
||||||
|
import de.jaujau.texturen.Texturenpakete;
|
||||||
|
|
||||||
import javax.swing.JComboBox;
|
import javax.swing.JComboBox;
|
||||||
import javax.swing.JFileChooser;
|
import javax.swing.JFileChooser;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Klasse texturenauswaehlen_GUI
|
* Klasse texturenauswaehlen_GUI
|
||||||
|
* @author Sebastian Kacza
|
||||||
|
* Diese Klasse erstelt ein Fenster für die Texturenpaket auswahl
|
||||||
*/
|
*/
|
||||||
public class texturenauswaehlen_GUI extends JFrame{
|
public class texturenauswaehlen_GUI extends JFrame{
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
private JPanel contentPane;
|
private JPanel contentPane;
|
||||||
private Texturenpakete pakete;
|
private Texturenpakete pakete;
|
||||||
private JComboBox comboBox;
|
private JComboBox<String> comboBox;
|
||||||
private JLabel vorschaubild;
|
private JLabel vorschaubild;
|
||||||
private JButton speichern, hinzufuegen, schliessen;
|
private JButton speichern, hinzufuegen, schliessen;
|
||||||
|
private Spielerverwaltung spielerverwaltung;
|
||||||
|
|
||||||
public texturenauswaehlen_GUI (Texturenpakete texturenpakete) {
|
|
||||||
|
/**
|
||||||
|
* Konstruktor fpr das Fenster
|
||||||
|
* @param texturenpakete
|
||||||
|
*/
|
||||||
|
public texturenauswaehlen_GUI (Texturenpakete texturenpakete, Spielerverwaltung spieler) {
|
||||||
pakete = texturenpakete;
|
pakete = texturenpakete;
|
||||||
erstelleFenster();
|
erstelleFenster();
|
||||||
aktualisiereInhalt();
|
aktualisiereInhalt();
|
||||||
|
spielerverwaltung = spieler;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Erstelt alle komponenten des Fensters
|
||||||
|
*/
|
||||||
private void erstelleFenster() {
|
private void erstelleFenster() {
|
||||||
//Fenster größen fetslegen
|
//Fenster größen fetslegen
|
||||||
setAlwaysOnTop(true);
|
setAlwaysOnTop(true);
|
||||||
setBounds(100, 100, 588, 558);
|
setBounds(100, 100, 391, 361);
|
||||||
contentPane = new JPanel();
|
contentPane = new JPanel();
|
||||||
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
|
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
|
||||||
setContentPane(contentPane);
|
setContentPane(contentPane);
|
||||||
@@ -49,45 +62,50 @@ public class texturenauswaehlen_GUI extends JFrame{
|
|||||||
|
|
||||||
//Vorschaubild
|
//Vorschaubild
|
||||||
vorschaubild = new JLabel();
|
vorschaubild = new JLabel();
|
||||||
vorschaubild.setBounds(117, 111, 167, 214);
|
vorschaubild.setBounds(32, 79, 167, 214);
|
||||||
contentPane.add(vorschaubild);
|
contentPane.add(vorschaubild);
|
||||||
|
|
||||||
//Text "Texturenauswahl"
|
//Text "Texturenauswahl"
|
||||||
JLabel lblNewLabel = new JLabel("Texturenauswahl");
|
JLabel lblNewLabel = new JLabel("Texturenauswahl");
|
||||||
lblNewLabel.setBounds(5, 5, 562, 25);
|
lblNewLabel.setBounds(34, 11, 304, 25);
|
||||||
lblNewLabel.setFont(new Font("Tahoma", Font.PLAIN, 20));
|
lblNewLabel.setFont(new Font("Tahoma", Font.PLAIN, 20));
|
||||||
lblNewLabel.setHorizontalAlignment(SwingConstants.CENTER);
|
lblNewLabel.setHorizontalAlignment(SwingConstants.CENTER);
|
||||||
contentPane.add(lblNewLabel);
|
contentPane.add(lblNewLabel);
|
||||||
|
|
||||||
//Teste Hinzufügen
|
//Teste Hinzufügen
|
||||||
hinzufuegen = new JButton("Hinzuf\u00FCgen");
|
hinzufuegen = new JButton("Hinzuf\u00FCgen");
|
||||||
hinzufuegen.setBounds(309, 125, 137, 23);
|
hinzufuegen.setBounds(209, 82, 137, 23);
|
||||||
hinzufuegen.addActionListener(e-> paketHinzufuegeb());
|
hinzufuegen.addActionListener(e-> paketHinzufuegeb());
|
||||||
contentPane.add(hinzufuegen);
|
contentPane.add(hinzufuegen);
|
||||||
|
|
||||||
|
|
||||||
//Teste Speichern
|
//Teste Speichern
|
||||||
speichern = new JButton("Speichern");
|
speichern = new JButton("Speichern");
|
||||||
speichern.setBounds(306, 231, 140, 23);
|
speichern.setBounds(209, 180, 140, 23);
|
||||||
speichern.addActionListener(e-> speichern());
|
speichern.addActionListener(e-> speichern());
|
||||||
contentPane.add(speichern);
|
contentPane.add(speichern);
|
||||||
|
|
||||||
|
|
||||||
//Teste Schießen
|
//Teste Schießen
|
||||||
schliessen = new JButton("Schlie\u00DFen");
|
schliessen = new JButton("Schlie\u00DFen");
|
||||||
schliessen.setBounds(306, 177, 140, 23);
|
schliessen.setBounds(209, 130, 140, 23);
|
||||||
schliessen.addActionListener(e-> schliessen());
|
schliessen.addActionListener(e-> schliessen());
|
||||||
contentPane.add(schliessen);
|
contentPane.add(schliessen);
|
||||||
|
|
||||||
|
|
||||||
//Auswahl Box
|
//Auswahl Box
|
||||||
comboBox = new JComboBox();
|
comboBox = new JComboBox<String>();
|
||||||
comboBox.setBounds(117, 69, 351, 25);
|
comboBox.setBounds(10, 37, 351, 25);
|
||||||
contentPane.add(comboBox);
|
contentPane.add(comboBox);
|
||||||
|
|
||||||
aktualisiereInhalt();
|
aktualisiereInhalt();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Öffent einen auswahl dialog zu Öfnnen einer Datei
|
||||||
|
* Bei klick auf OK wird das Paket hinzugefügt
|
||||||
|
*/
|
||||||
private void paketHinzufuegeb() {
|
private void paketHinzufuegeb() {
|
||||||
//Quelle: https://www.java-tutorial.org/jfilechooser.html
|
//Quelle: https://www.java-tutorial.org/jfilechooser.html
|
||||||
|
|
||||||
@@ -101,31 +119,45 @@ public class texturenauswaehlen_GUI extends JFrame{
|
|||||||
pakete.addPaket(chooser.getSelectedFile().toString());
|
pakete.addPaket(chooser.getSelectedFile().toString());
|
||||||
aktualisiereInhalt();
|
aktualisiereInhalt();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Schießt das Auswahlfenster
|
||||||
|
*/
|
||||||
private void schliessen() {
|
private void schliessen() {
|
||||||
this.setVisible(false);
|
this.setVisible(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Speichert die Auswahl des akutellen Paketes
|
||||||
|
*/
|
||||||
private void speichern() {
|
private void speichern() {
|
||||||
pakete.setAktivesPaket(comboBox.getSelectedIndex());
|
if(spielerverwaltung.getLevel() >= pakete.getLevel(comboBox.getSelectedIndex())) {
|
||||||
aktualisiereBild();
|
pakete.setAktivesPaket(comboBox.getSelectedIndex());
|
||||||
|
aktualisiereBild();
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Aktualisiert die Inhalte der ComboBox
|
||||||
|
*/
|
||||||
private void aktualisiereInhalt() {
|
private void aktualisiereInhalt() {
|
||||||
comboBox.removeAllItems();
|
comboBox.removeAllItems();
|
||||||
for(int i = 0; i < pakete.getAnzahlPakete(); i++) {
|
for(int i = 0; i < pakete.getAnzahlPakete(); i++) {
|
||||||
comboBox.addItem(pakete.getName(i));
|
comboBox.addItem(pakete.getName(i) + " [Level " + pakete.getLevel(i) + "]");
|
||||||
}
|
}
|
||||||
comboBox.setSelectedIndex(pakete.getAktivesPaket());
|
comboBox.setSelectedIndex(pakete.getAktivesPaket());
|
||||||
aktualisiereBild();
|
aktualisiereBild();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Aktualisiert das Vorschaubild
|
||||||
|
*/
|
||||||
private void aktualisiereBild() {
|
private void aktualisiereBild() {
|
||||||
vorschaubild.setIcon(new ImageIcon(pakete.getTextur(32).getScaledInstance(150, 210, Image.SCALE_SMOOTH)));
|
vorschaubild.setIcon(new ImageIcon(pakete.getTextur(32).getScaledInstance(150, 210, Image.SCALE_SMOOTH)));
|
||||||
}
|
}
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
package de.jaujau.daten;
|
package de.jaujau.karten;
|
||||||
|
|
||||||
public enum Ablageort {
|
public enum Ablageort {
|
||||||
SPIELER, COMPUTER, ABLAGESTAPEL, ZIEHSTAPEL
|
SPIELER, COMPUTER, ABLAGESTAPEL, ZIEHSTAPEL
|
@@ -1,4 +1,4 @@
|
|||||||
package de.jaujau.daten;
|
package de.jaujau.karten;
|
||||||
|
|
||||||
public enum Farbe {
|
public enum Farbe {
|
||||||
PIK, KREUZ, HERZ, KARO
|
PIK, KREUZ, HERZ, KARO
|
@@ -1,5 +1,4 @@
|
|||||||
package de.jaujau.daten;
|
package de.jaujau.karten;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Klasse Karte
|
* Klasse Karte
|
||||||
@@ -20,7 +19,7 @@ public class Karte {
|
|||||||
public Karte(Farbe f, Wert w) {
|
public Karte(Farbe f, Wert w) {
|
||||||
FARBE = f;
|
FARBE = f;
|
||||||
WERT = w;
|
WERT = w;
|
||||||
Ablageort = de.jaujau.daten.Ablageort.ZIEHSTAPEL;
|
Ablageort = de.jaujau.karten.Ablageort.ZIEHSTAPEL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
@@ -1,4 +1,4 @@
|
|||||||
package de.jaujau.daten;
|
package de.jaujau.karten;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
@@ -10,6 +10,7 @@ import java.util.Random;
|
|||||||
public class Kartensatz {
|
public class Kartensatz {
|
||||||
private Karte kartensatz[];
|
private Karte kartensatz[];
|
||||||
private int letztekarte;
|
private int letztekarte;
|
||||||
|
private boolean debug;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Konstruktor für den Kartensatz
|
* Konstruktor für den Kartensatz
|
||||||
@@ -19,6 +20,7 @@ public class Kartensatz {
|
|||||||
*/
|
*/
|
||||||
public Kartensatz() {
|
public Kartensatz() {
|
||||||
|
|
||||||
|
debug = true;
|
||||||
kartensatz = new Karte[32];
|
kartensatz = new Karte[32];
|
||||||
|
|
||||||
//Standart Skat Kartensatz erstellen
|
//Standart Skat Kartensatz erstellen
|
||||||
@@ -116,7 +118,7 @@ public class Kartensatz {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
System.out.println("Keine Karten zum ziehen verfügbar!");
|
if(debug)System.out.println("Keine Karten zum ziehen verfügbar!");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
@@ -5,7 +5,7 @@
|
|||||||
* @version 1.0
|
* @version 1.0
|
||||||
|
|
||||||
*/
|
*/
|
||||||
package de.jaujau.daten;
|
package de.jaujau.karten;
|
||||||
|
|
||||||
public enum Spieler {
|
public enum Spieler {
|
||||||
SPIELER, COMPUTER
|
SPIELER, COMPUTER
|
@@ -1,4 +1,4 @@
|
|||||||
package de.jaujau.daten;
|
package de.jaujau.karten;
|
||||||
|
|
||||||
public enum Wert {
|
public enum Wert {
|
||||||
SIEBEN, ACHT, NEUN, ZEHN, BUBE, DAME, KOENING, ASS
|
SIEBEN, ACHT, NEUN, ZEHN, BUBE, DAME, KOENING, ASS
|
35
src/de/jaujau/spieler/Spielerdaten.java
Normal file
35
src/de/jaujau/spieler/Spielerdaten.java
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
/**
|
||||||
|
|
||||||
|
* @author Alaa Aldin
|
||||||
|
|
||||||
|
* @version 1.0
|
||||||
|
|
||||||
|
*/
|
||||||
|
package de.jaujau.spieler;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Klasse Spielerdaten
|
||||||
|
*/
|
||||||
|
public class Spielerdaten {
|
||||||
|
|
||||||
|
private int punktestand;
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
public Spielerdaten (String name, int punkte) {
|
||||||
|
this.name = name;
|
||||||
|
this.punktestand = punkte;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public int getPunktestand() {
|
||||||
|
return punktestand;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPunktestand(int punkte) {
|
||||||
|
punktestand = punkte;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
}
|
194
src/de/jaujau/spieler/Spielerverwaltung.java
Executable file
194
src/de/jaujau/spieler/Spielerverwaltung.java
Executable file
@@ -0,0 +1,194 @@
|
|||||||
|
package de.jaujau.spieler;
|
||||||
|
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.BufferedWriter;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileReader;
|
||||||
|
import java.io.FileWriter;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Verwaltung der Spieler und deren Highscore
|
||||||
|
* @author Alaa Aldin
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class Spielerverwaltung {
|
||||||
|
|
||||||
|
|
||||||
|
private File datei;
|
||||||
|
private ArrayList <Spielerdaten> spielerliste = new ArrayList<Spielerdaten>();
|
||||||
|
private String aktuellerSpielerName;
|
||||||
|
private int aktuellerSpielerNr;
|
||||||
|
private boolean debug;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param Datei
|
||||||
|
*/
|
||||||
|
public Spielerverwaltung(String Datei) {
|
||||||
|
datei = new File(Datei);
|
||||||
|
spielerliste = new ArrayList<Spielerdaten>();
|
||||||
|
aktuellerSpielerName = "";
|
||||||
|
aktuellerSpielerNr = -1;
|
||||||
|
debug = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Spieler Liste aus Datei einlesen
|
||||||
|
*/
|
||||||
|
public void lesenDatei() {
|
||||||
|
if(datei.exists() || datei.canRead()) {
|
||||||
|
BufferedReader reader;
|
||||||
|
try {
|
||||||
|
reader = new BufferedReader(new FileReader(datei));
|
||||||
|
String line = reader.readLine();
|
||||||
|
while (line != null) {
|
||||||
|
String [] newline = line.split(";");
|
||||||
|
|
||||||
|
//Nur einlesen wenn 2 Objekte vorhanden sind
|
||||||
|
if(newline.length == 2) {
|
||||||
|
String name = newline[0];
|
||||||
|
int score = Integer.parseInt(newline[1]);
|
||||||
|
spielerliste.add(new Spielerdaten (name,score));
|
||||||
|
}
|
||||||
|
line = reader.readLine();
|
||||||
|
}
|
||||||
|
reader.close();
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(debug)System.out.println("SPIELERVERWALTUN: " + spielerliste.size() + " Enträge gelesen");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Spieler liste in datei schreiben
|
||||||
|
*/
|
||||||
|
public void schreibeDatei() {
|
||||||
|
if(spielerliste.size() > 0) {
|
||||||
|
//Spielerliste ist nicht leer
|
||||||
|
try {
|
||||||
|
BufferedWriter writer = new BufferedWriter(new FileWriter(datei)); //Erzeugen eines effizienten Writers für Textdateien
|
||||||
|
for (int i = 0; i < spielerliste.size(); i++) {
|
||||||
|
writer.write(spielerliste.get(i).getName() + ";" + Integer.toString(spielerliste.get(i).getPunktestand()));
|
||||||
|
writer.newLine();
|
||||||
|
}
|
||||||
|
writer.close();
|
||||||
|
}
|
||||||
|
catch(IOException ioe) {
|
||||||
|
System.err.println(ioe);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param spielername
|
||||||
|
*/
|
||||||
|
public void setSpieler(String spielername) {
|
||||||
|
if(spielerVorhanden(spielername)) {
|
||||||
|
aktuellerSpielerName = spielername;
|
||||||
|
aktuellerSpielerNr = getSpielerNr(spielername);
|
||||||
|
if(debug)System.out.println("SPIELERVERWALTUN: Spieler " + spielername + " gesetzt");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
spielerliste.add(new Spielerdaten(spielername,0));
|
||||||
|
aktuellerSpielerNr = getSpielerNr(spielername);
|
||||||
|
if(debug)System.out.println("SPIELERVERWALTUN: Spieler " + spielername + " hinzugefügt");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public String getSpieler() {
|
||||||
|
return aktuellerSpielerName;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Highscore Liste als String Array ausgeben
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public String[][] getHighscoreTabelle() {
|
||||||
|
String [][] highscore = new String[spielerliste.size()][2];
|
||||||
|
for(int i = 0; i < spielerliste.size(); i++) {
|
||||||
|
highscore[i][0] = spielerliste.get(i).getName();
|
||||||
|
highscore[i][1] = Integer.toString(spielerliste.get(i).getPunktestand());
|
||||||
|
}
|
||||||
|
|
||||||
|
return highscore;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gibt das Level des Aktuellenspielers zurück
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public int getLevel() {
|
||||||
|
if(spielerliste.get(aktuellerSpielerNr).getPunktestand() > 0) {
|
||||||
|
return (int) Math.log(spielerliste.get(aktuellerSpielerNr).getPunktestand());
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param punkte
|
||||||
|
*/
|
||||||
|
public void erhoehePunkte(int punkte) {
|
||||||
|
int punkteNeu = spielerliste.get(aktuellerSpielerNr).getPunktestand() + punkte;
|
||||||
|
if(punkteNeu >= 0) {
|
||||||
|
spielerliste.get(aktuellerSpielerNr).setPunktestand(punkteNeu);
|
||||||
|
if(debug)System.out.println("SPIELERVERWALTUN: Punkte Neu: " + punkteNeu);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if(debug)System.out.println("SPIELERVERWALTUN: Punkte Neu: 0");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param name
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private boolean spielerVorhanden(String name) {
|
||||||
|
for(int i = 0; i < spielerliste.size(); i++) {
|
||||||
|
if(spielerliste.get(i).getName().equals(name)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param spielername
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private int getSpielerNr(String spielername) {
|
||||||
|
for(int i = 0; i < spielerliste.size(); i++) {
|
||||||
|
if(spielerliste.get(i).getName().equals(spielername)) {
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
@@ -7,28 +7,28 @@
|
|||||||
*/
|
*/
|
||||||
package de.jaujau.spiellogik;
|
package de.jaujau.spiellogik;
|
||||||
|
|
||||||
import de.jaujau.daten.Spielerverwaltung;
|
|
||||||
import de.jaujau.daten.Texturenpakete;
|
|
||||||
import de.jaujau.gui.GUI;
|
import de.jaujau.gui.GUI;
|
||||||
//import de.jaujau.gui.Menue_GUI;
|
import de.jaujau.spieler.Spielerverwaltung;
|
||||||
//import de.jaujau.gui.Spiel_GUI;
|
import de.jaujau.texturen.Texturenpakete;
|
||||||
|
|
||||||
|
|
||||||
public class Anwendung {
|
public class Anwendung {
|
||||||
|
|
||||||
private Texturenpakete texturenpakete;
|
private Texturenpakete texturenpakete;
|
||||||
private Spielerverwaltung speicherung;
|
private Spielerverwaltung speicherung;
|
||||||
private GUI view;
|
private GUI view;
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Constructors
|
// Constructors
|
||||||
//
|
//
|
||||||
public Anwendung() {
|
public Anwendung() {
|
||||||
speicherung = new Spielerverwaltung();
|
speicherung = new Spielerverwaltung("highscore.csv");
|
||||||
|
speicherung.lesenDatei();
|
||||||
texturenpakete = new Texturenpakete();
|
texturenpakete = new Texturenpakete();
|
||||||
view = new GUI(texturenpakete, speicherung);
|
view = new GUI(texturenpakete, speicherung);
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
/**
|
/**
|
||||||
*/
|
*/
|
||||||
|
@@ -5,15 +5,15 @@ package de.jaujau.spiellogik;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
import de.jaujau.daten.Farbe;
|
import de.jaujau.karten.Farbe;
|
||||||
import de.jaujau.daten.Kartensatz;
|
import de.jaujau.karten.Kartensatz;
|
||||||
import de.jaujau.daten.Spieler;
|
import de.jaujau.karten.Spieler;
|
||||||
import de.jaujau.daten.Wert;
|
import de.jaujau.karten.Wert;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Diese Klasse steuert den Computer Gegner
|
* Diese Klasse steuert den Computer Gegner
|
||||||
* @author Moritz K<>ppe
|
* @author Moritz K<>ppe
|
||||||
*/
|
*/
|
||||||
public class Computer_gegner {
|
public class Computer_gegner {
|
||||||
|
|
||||||
@@ -30,6 +30,7 @@ public class Computer_gegner {
|
|||||||
private Kartensatz kartensatz;
|
private Kartensatz kartensatz;
|
||||||
private boolean siebenInHand;
|
private boolean siebenInHand;
|
||||||
private boolean achtInHand;
|
private boolean achtInHand;
|
||||||
|
private boolean debug = false;
|
||||||
//
|
//
|
||||||
// Constructors
|
// Constructors
|
||||||
//
|
//
|
||||||
@@ -48,9 +49,9 @@ public class Computer_gegner {
|
|||||||
* Funktion sucht aus, welche Karte der Computer Gegner legt, nach verschiedenen Parametern
|
* Funktion sucht aus, welche Karte der Computer Gegner legt, nach verschiedenen Parametern
|
||||||
* Zuerst sollen Karten gelegt werden, welche den aktuell geltenden Effekt kontern, falls einer liegt
|
* Zuerst sollen Karten gelegt werden, welche den aktuell geltenden Effekt kontern, falls einer liegt
|
||||||
* Danach werden Effektkarten der aktuellen Farbe gelegt
|
* Danach werden Effektkarten der aktuellen Farbe gelegt
|
||||||
* Als n<>chstes Werden Karten der aktuellen Farbe gelegt
|
* Als n<>chstes Werden Karten der aktuellen Farbe gelegt
|
||||||
* Dann Karten die den aktuellenw Wert besitzen
|
* Dann Karten die den aktuellenw Wert besitzen
|
||||||
* Zuletzt Buben um sich eine Farbe zu w<>nschen
|
* Zuletzt Buben um sich eine Farbe zu w<>nschen
|
||||||
* @param boolean, muss Spieler ziehen?
|
* @param boolean, muss Spieler ziehen?
|
||||||
* @param boolean, muss Spieler aussetzen?
|
* @param boolean, muss Spieler aussetzen?
|
||||||
* @return Kartenindex der Karte die gelegt werden soll
|
* @return Kartenindex der Karte die gelegt werden soll
|
||||||
@@ -62,7 +63,7 @@ public class Computer_gegner {
|
|||||||
hand = kartensatz.getHand(Spieler.COMPUTER); //Speichert die Karten, die der Computer aktuell auf der Hand hat
|
hand = kartensatz.getHand(Spieler.COMPUTER); //Speichert die Karten, die der Computer aktuell auf der Hand hat
|
||||||
farbeInHand = false; //Speichert, ob die aktuell liegende Farbe in der Hand des Computers vorhanden ist
|
farbeInHand = false; //Speichert, ob die aktuell liegende Farbe in der Hand des Computers vorhanden ist
|
||||||
wertInHand = false; //Speichert, ob der aktuell liegende Wert in der Hand des Computers vorhanden ist
|
wertInHand = false; //Speichert, ob der aktuell liegende Wert in der Hand des Computers vorhanden ist
|
||||||
int rueckgabeindex = -1; //Speichert den Kartenindex, der Karte, die gelegt werden soll. Standard -1 f<>r ziehen, falls keine passende Karte auf Hand
|
int rueckgabeindex = -1; //Speichert den Kartenindex, der Karte, die gelegt werden soll. Standard -1 f<>r ziehen, falls keine passende Karte auf Hand
|
||||||
bubeInHand = false; //Speichert, ob ein Bube in der Hand vorhanden ist
|
bubeInHand = false; //Speichert, ob ein Bube in der Hand vorhanden ist
|
||||||
gegnerhand = kartensatz.getHand(Spieler.SPIELER);
|
gegnerhand = kartensatz.getHand(Spieler.SPIELER);
|
||||||
|
|
||||||
@@ -74,19 +75,19 @@ public class Computer_gegner {
|
|||||||
Farbe farbeHK = kartensatz.getKarte(hand.get(i)).getFARBE(); //Holt sich die Farbe der aktuellen Handkarte
|
Farbe farbeHK = kartensatz.getKarte(hand.get(i)).getFARBE(); //Holt sich die Farbe der aktuellen Handkarte
|
||||||
Wert wertHK = kartensatz.getKarte(hand.get(i)).getWERT(); //Holt sich den Wert der aktuellen Handkarte
|
Wert wertHK = kartensatz.getKarte(hand.get(i)).getWERT(); //Holt sich den Wert der aktuellen Handkarte
|
||||||
|
|
||||||
if(farbeHK == letztekartefarbe && wertHK != Wert.BUBE) { //Pr<50>ft ob Farbe der aktuellen Handkarte zur offen liegenden Karte passt
|
if(farbeHK == letztekartefarbe && wertHK != Wert.BUBE) { //Pr<50>ft ob Farbe der aktuellen Handkarte zur offen liegenden Karte passt
|
||||||
farbeInHand = true;
|
farbeInHand = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(wertHK == letztekartewert) { //Pr<50>ft ob Wert der aktuellen Handkarte zur liegenden Karte passt
|
if(wertHK == letztekartewert) { //Pr<50>ft ob Wert der aktuellen Handkarte zur liegenden Karte passt
|
||||||
wertInHand = true;
|
wertInHand = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(wertHK == Wert.BUBE) { //Pr<50>ft, ob ein Bube (W<>nscher) auf der Hand vorhanden ist
|
if(wertHK == Wert.BUBE) { //Pr<50>ft, ob ein Bube (W<>nscher) auf der Hand vorhanden ist
|
||||||
bubeInHand = true;
|
bubeInHand = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
//Sollte der Computer genau eine 8 und eine weitere Karte der selben Farbe (keine Buben) haben, wird er versuchen diese 8 pr<70>feriert zu legen
|
//Sollte der Computer genau eine 8 und eine weitere Karte der selben Farbe (keine Buben) haben, wird er versuchen diese 8 pr<70>feriert zu legen
|
||||||
if(((wertHK == Wert.ACHT && farbeHK == letztekartefarbe) || (wertHK == Wert.ACHT && letztekartewert == Wert.ACHT)) && farbeZahl(farbeHK) == 2) {
|
if(((wertHK == Wert.ACHT && farbeHK == letztekartefarbe) || (wertHK == Wert.ACHT && letztekartewert == Wert.ACHT)) && farbeZahl(farbeHK) == 2) {
|
||||||
achtInHand = true;
|
achtInHand = true;
|
||||||
}
|
}
|
||||||
@@ -103,7 +104,9 @@ public class Computer_gegner {
|
|||||||
Farbe farbeHK = kartensatz.getKarte(hand.get(i)).getFARBE();
|
Farbe farbeHK = kartensatz.getKarte(hand.get(i)).getFARBE();
|
||||||
Wert wertHK = kartensatz.getKarte(hand.get(i)).getWERT();
|
Wert wertHK = kartensatz.getKarte(hand.get(i)).getWERT();
|
||||||
if((farbeHK == letztekartefarbe && wertHK == Wert.ACHT) || (wertHK == letztekartewert && wertHK == Wert.ACHT)) {
|
if((farbeHK == letztekartefarbe && wertHK == Wert.ACHT) || (wertHK == letztekartewert && wertHK == Wert.ACHT)) {
|
||||||
System.out.println("COMPUTER: Ausnahme 1");
|
if (debug) {
|
||||||
|
System.out.println("COMPUTER: Ausnahme 1");
|
||||||
|
}
|
||||||
return hand.get(i);
|
return hand.get(i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -116,7 +119,9 @@ public class Computer_gegner {
|
|||||||
Farbe farbeHK = kartensatz.getKarte(hand.get(i)).getFARBE();
|
Farbe farbeHK = kartensatz.getKarte(hand.get(i)).getFARBE();
|
||||||
Wert wertHK = kartensatz.getKarte(hand.get(i)).getWERT();
|
Wert wertHK = kartensatz.getKarte(hand.get(i)).getWERT();
|
||||||
if((farbeHK == letztekartefarbe && wertHK == Wert.SIEBEN) || (wertHK == letztekartewert && wertHK == Wert.SIEBEN)) {
|
if((farbeHK == letztekartefarbe && wertHK == Wert.SIEBEN) || (wertHK == letztekartewert && wertHK == Wert.SIEBEN)) {
|
||||||
System.out.println("COMPUTER: Ausnahme 2");
|
if (debug) {
|
||||||
|
System.out.println("COMPUTER: Ausnahme 2");
|
||||||
|
}
|
||||||
return hand.get(i);
|
return hand.get(i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -125,42 +130,56 @@ public class Computer_gegner {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
//W<>hlt aus, welche Karte gelegt wird
|
//W<>hlt aus, welche Karte gelegt wird
|
||||||
if ((aussetzen || ziehen) && wertInHand) { //Muss der Computer aussetzen oder ziehen, versucht er eine passende Konterkarte zu legen
|
if ((aussetzen || ziehen) && wertInHand) { //Muss der Computer aussetzen oder ziehen, versucht er eine passende Konterkarte zu legen
|
||||||
rueckgabeindex = wertLegen(letztekartewert);
|
rueckgabeindex = wertLegen(letztekartewert);
|
||||||
System.out.println("COMPUTER: Fall 1");
|
if (debug) {
|
||||||
|
System.out.println("COMPUTER: Fall 1");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if((wertInHand || farbeInHand) && !aussetzen && !ziehen) {
|
else if((wertInHand || farbeInHand) && !aussetzen && !ziehen) {
|
||||||
|
|
||||||
if (hand.size() > 3) { //Hat der Computer viele Karten in der Hand versucht er passende Farben zu legen, bei weniger Karten passende Werte
|
if (hand.size() > 3) { //Hat der Computer viele Karten in der Hand versucht er passende Farben zu legen, bei weniger Karten passende Werte
|
||||||
if(farbeInHand && !aussetzen && !ziehen) { //Hat der Computer die Farbe auf der Hand, versucht er diese zu legen
|
if(farbeInHand && !aussetzen && !ziehen) { //Hat der Computer die Farbe auf der Hand, versucht er diese zu legen
|
||||||
rueckgabeindex = farbeLegen(letztekartefarbe);
|
rueckgabeindex = farbeLegen(letztekartefarbe);
|
||||||
System.out.println("COMPUTER: Fall 2");
|
if (debug) {
|
||||||
|
System.out.println("COMPUTER: Fall 2");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if(wertInHand && !aussetzen && !ziehen) { //Hat der Computer nicht die passende Farbe, aber einen passenden Wert, legt er diesen
|
else if(wertInHand && !aussetzen && !ziehen) { //Hat der Computer nicht die passende Farbe, aber einen passenden Wert, legt er diesen
|
||||||
rueckgabeindex = wertLegen(letztekartewert);
|
rueckgabeindex = wertLegen(letztekartewert);
|
||||||
System.out.println("COMPUTER: Fall 3");
|
if (debug) {
|
||||||
|
System.out.println("COMPUTER: Fall 3");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if(wertInHand && !aussetzen && !ziehen) { //Hat der Computer die Wert auf der Hand, versucht er diese zu legen
|
if(wertInHand && !aussetzen && !ziehen) { //Hat der Computer die Wert auf der Hand, versucht er diese zu legen
|
||||||
rueckgabeindex = wertLegen(letztekartewert);
|
rueckgabeindex = wertLegen(letztekartewert);
|
||||||
System.out.println("COMPUTER: Fall 4");
|
if (debug) {
|
||||||
|
System.out.println("COMPUTER: Fall 4");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if(farbeInHand && !aussetzen && !ziehen) { //Hat der Computer nicht den passenden Wert, aber eine passende Farbe, legt er diese
|
else if(farbeInHand && !aussetzen && !ziehen) { //Hat der Computer nicht den passenden Wert, aber eine passende Farbe, legt er diese
|
||||||
rueckgabeindex = farbeLegen(letztekartefarbe);
|
rueckgabeindex = farbeLegen(letztekartefarbe);
|
||||||
System.out.println("COMPUTER: Fall 5");
|
if (debug) {
|
||||||
|
System.out.println("COMPUTER: Fall 5");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(bubeInHand && !aussetzen && !ziehen) { //Hat der Computer weder die passende Farbe, noch den passenden Wert auf der Hand, aber einen W<>nscher, legt er diesen
|
else if(bubeInHand && !aussetzen && !ziehen) { //Hat der Computer weder die passende Farbe, noch den passenden Wert auf der Hand, aber einen W<>nscher, legt er diesen
|
||||||
rueckgabeindex = wertLegen(Wert.BUBE);
|
rueckgabeindex = wertLegen(Wert.BUBE);
|
||||||
System.out.println("COMPUTER: Fall 6");
|
if (debug) {
|
||||||
|
System.out.println("COMPUTER: Fall 6");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if(aussetzen && !wertInHand) { //Muss der Computer aussetzen und kann nicht reagieren, gibt er eine -2 zur<75>ck
|
else if(aussetzen && !wertInHand) { //Muss der Computer aussetzen und kann nicht reagieren, gibt er eine -2 zur<75>ck
|
||||||
rueckgabeindex = -2;
|
rueckgabeindex = -2;
|
||||||
System.out.println("COMPUTER: Fall 7");
|
if (debug) {
|
||||||
|
System.out.println("COMPUTER: Fall 7");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -169,10 +188,10 @@ public class Computer_gegner {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Funktion sucht Karte passend zur gesuchten Farbe aus der Hand und gibt diese zur<75>ck
|
* Funktion sucht Karte passend zur gesuchten Farbe aus der Hand und gibt diese zur<75>ck
|
||||||
* Passen mehrere Karten, gibt sie die letzte passende zur<75>ck
|
* Passen mehrere Karten, gibt sie die letzte passende zur<75>ck
|
||||||
* @param Farbe, Farbe zu der eine Karte gesucht wird
|
* @param Farbe, Farbe zu der eine Karte gesucht wird
|
||||||
* @return integer Index der zur<75>ckgegebenen Karte
|
* @return integer Index der zur<75>ckgegebenen Karte
|
||||||
*/
|
*/
|
||||||
private int farbeLegen(Farbe gesuchteFarbe) {
|
private int farbeLegen(Farbe gesuchteFarbe) {
|
||||||
int ind = -1;
|
int ind = -1;
|
||||||
@@ -188,10 +207,10 @@ public class Computer_gegner {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Funktion sucht Karte passend zum gesuchten Wert aus der Hand und gibt diese zur<75>ck
|
* Funktion sucht Karte passend zum gesuchten Wert aus der Hand und gibt diese zur<75>ck
|
||||||
* Passen mehrere Karten, gibt sie die letzte passende zur<75>ck
|
* Passen mehrere Karten, gibt sie die letzte passende zur<75>ck
|
||||||
* @param Wert, Wert zu dem eine passende Karte gesucht wird
|
* @param Wert, Wert zu dem eine passende Karte gesucht wird
|
||||||
* @return integer Index der zur<75>ckgegebenen Karte
|
* @return integer Index der zur<75>ckgegebenen Karte
|
||||||
*/
|
*/
|
||||||
private int wertLegen(Wert gesuchterWert) {
|
private int wertLegen(Wert gesuchterWert) {
|
||||||
int ind = -1;
|
int ind = -1;
|
||||||
@@ -206,10 +225,10 @@ public class Computer_gegner {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Funktion w<>hlt f<>r den Computer aus, welche Farbe er sich bei einem W<>nscher aussucht
|
* Funktion w<>hlt f<>r den Computer aus, welche Farbe er sich bei einem W<>nscher aussucht
|
||||||
* Dazu wird geschaut, von welcher Farbe er am meisten Karten auf der Hand hat
|
* Dazu wird geschaut, von welcher Farbe er am meisten Karten auf der Hand hat
|
||||||
* @param Kartensatz aktueller Stand des Kartensatzes
|
* @param Kartensatz aktueller Stand des Kartensatzes
|
||||||
* @return Farbe gew<65>hlte Farbe
|
* @return Farbe gew<65>hlte Farbe
|
||||||
*/
|
*/
|
||||||
public Farbe farbeAussuchen(Kartensatz karten) {
|
public Farbe farbeAussuchen(Kartensatz karten) {
|
||||||
kartensatz = karten;
|
kartensatz = karten;
|
||||||
@@ -238,9 +257,9 @@ public class Computer_gegner {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Funktion, die eine zuf<75>llige Zahl zwischen 0 und einer andere Zahl r-1 ausgibt
|
* Funktion, die eine zuf<75>llige Zahl zwischen 0 und einer andere Zahl r-1 ausgibt
|
||||||
* @param int r
|
* @param int r
|
||||||
* @return int zuf<75>llige Zahl
|
* @return int zuf<75>llige Zahl
|
||||||
*/
|
*/
|
||||||
private int zufall(int r){
|
private int zufall(int r){
|
||||||
Random zufall = new Random();
|
Random zufall = new Random();
|
||||||
@@ -251,8 +270,8 @@ public class Computer_gegner {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Funktion z<>hlt f<>r die jeweilige Farbe, wie viele Karten der Farbe auf der Hand des Computer sind
|
* Funktion z<>hlt f<>r die jeweilige Farbe, wie viele Karten der Farbe auf der Hand des Computer sind
|
||||||
* @param farbe, f<>r welche gez<65>hlt werden soll
|
* @param farbe, f<>r welche gez<65>hlt werden soll
|
||||||
* @return integer Wie viele Karten der Farbe auf der Hand sind
|
* @return integer Wie viele Karten der Farbe auf der Hand sind
|
||||||
*/
|
*/
|
||||||
private int farbeZahl(Farbe farbe) {
|
private int farbeZahl(Farbe farbe) {
|
||||||
@@ -270,7 +289,7 @@ public class Computer_gegner {
|
|||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Dies ist nur eine Testfunktion
|
* Dies ist nur eine Testfunktion
|
||||||
* @return Integer, gibt immer 1 zur<75>ck
|
* @return Integer, gibt immer 1 zur<75>ck
|
||||||
*/
|
*/
|
||||||
public int cpuTest() {
|
public int cpuTest() {
|
||||||
return 1;
|
return 1;
|
||||||
|
@@ -2,22 +2,23 @@ package de.jaujau.spiellogik;
|
|||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
import de.jaujau.daten.Audio;
|
import de.jaujau.audio.Audio;
|
||||||
import de.jaujau.daten.Farbe;
|
|
||||||
import de.jaujau.daten.Kartensatz;
|
|
||||||
import de.jaujau.daten.Spieler;
|
|
||||||
import de.jaujau.daten.Wert;
|
|
||||||
import de.jaujau.gui.Dashboard_GUI;
|
import de.jaujau.gui.Dashboard_GUI;
|
||||||
|
import de.jaujau.karten.Farbe;
|
||||||
|
import de.jaujau.karten.Kartensatz;
|
||||||
|
import de.jaujau.karten.Spieler;
|
||||||
|
import de.jaujau.karten.Wert;
|
||||||
|
import de.jaujau.spieler.Spielerverwaltung;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Diese Klasse organisiert den Spielablauf
|
* Diese Klasse organisiert den Spielablauf
|
||||||
* Diese Klasse beinhaltet Methoden um Spielz<6C>ge auszuf<75>hren, um Kontrollen durchzuf<75>hren und um zwischen Spieler und Computer zu wechseln
|
* Diese Klasse beinhaltet Methoden um Spielz<6C>ge auszuf<75>hren, um Kontrollen durchzuf<75>hren und um zwischen Spieler und Computer zu wechseln
|
||||||
* @author Fabian Keller
|
* @author Fabian Keller
|
||||||
*/
|
*/
|
||||||
public class Spiel {
|
public class Spiel {
|
||||||
|
|
||||||
private Spieler amZug;
|
private Spieler amZug;
|
||||||
private Wert gelegterWert;
|
private Wert gelegterWert;
|
||||||
private Audio audio;
|
private Audio audio;
|
||||||
@@ -29,14 +30,17 @@ public class Spiel {
|
|||||||
private int kartenZiehen;
|
private int kartenZiehen;
|
||||||
private Dashboard_GUI dashboard;
|
private Dashboard_GUI dashboard;
|
||||||
private boolean spielGewonnen;
|
private boolean spielGewonnen;
|
||||||
|
private Spielerverwaltung spielerverwaltung;
|
||||||
|
private boolean debug = false;
|
||||||
|
|
||||||
public Spiel(Dashboard_GUI dashboard_gui) {
|
public Spiel(Dashboard_GUI dashboard_gui, Spielerverwaltung spielerverwaltung) {
|
||||||
audio = new Audio();
|
audio = new Audio();
|
||||||
kartensatz = new Kartensatz();
|
kartensatz = new Kartensatz();
|
||||||
computerGegner = new Computer_gegner(kartensatz);
|
computerGegner = new Computer_gegner(kartensatz);
|
||||||
spielzug = new Spielzug(kartensatz);
|
spielzug = new Spielzug(kartensatz);
|
||||||
dashboard = dashboard_gui;
|
dashboard = dashboard_gui;
|
||||||
spielGewonnen = false;
|
spielGewonnen = false;
|
||||||
|
this.spielerverwaltung = spielerverwaltung;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean getAussetzen() {
|
public boolean getAussetzen() {
|
||||||
@@ -61,45 +65,45 @@ public class Spiel {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Initialisiert ein Spiel
|
* Initialisiert ein Spiel
|
||||||
* Handelt den Start aus und f<>hrt, falls n<>tig, den ersten Spielzug aus
|
* Handelt den Start aus und f<>hrt, falls n<>tig, den ersten Spielzug aus
|
||||||
* @param dashboard
|
* @param dashboard
|
||||||
*/
|
*/
|
||||||
public void spiel(Dashboard_GUI dashboard) {
|
public void spiel(Dashboard_GUI dashboard) {
|
||||||
System.out.println("\nSPIEL Spiel gestartet.");
|
if(debug) System.out.println("\nSPIEL Spiel gestartet.");
|
||||||
Random zufallszahl = new Random();
|
Random zufallszahl = new Random();
|
||||||
int zahl = zufallszahl.nextInt(2);
|
int zahl = zufallszahl.nextInt(2);
|
||||||
if(zahl == 1) { //Starter durch zufall bestimmen
|
if(zahl == 1) { //Starter durch zufall bestimmen
|
||||||
amZug = Spieler.SPIELER;
|
amZug = Spieler.SPIELER;
|
||||||
System.out.println("SPIEL Spieler startet");
|
if(debug) System.out.println("SPIEL Spieler startet");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
amZug = Spieler.COMPUTER;
|
amZug = Spieler.COMPUTER;
|
||||||
System.out.println("SPIEL Computer startet");
|
if(debug) System.out.println("SPIEL Computer startet");
|
||||||
}
|
}
|
||||||
for(int i = 0; i < 7; i++) { //Jeder bekommt 7 Karten
|
for(int i = 0; i < 7; i++) { //Jeder bekommt 7 Karten
|
||||||
kartensatz.ziehen(Spieler.COMPUTER);
|
kartensatz.ziehen(Spieler.COMPUTER);
|
||||||
kartensatz.ziehen(Spieler.SPIELER);
|
kartensatz.ziehen(Spieler.SPIELER);
|
||||||
}
|
}
|
||||||
System.out.println("SPIEL Kartenhand von COMPUTER: " + kartensatz.getHand(Spieler.COMPUTER));
|
if(debug) System.out.println("SPIEL Kartenhand von COMPUTER: " + kartensatz.getHand(Spieler.COMPUTER));
|
||||||
System.out.println("SPIEL Kartenhand von SPIELER: " + kartensatz.getHand(Spieler.SPIELER));
|
if(debug) System.out.println("SPIEL Kartenhand von SPIELER: " + kartensatz.getHand(Spieler.SPIELER));
|
||||||
effekteSetzen();
|
effekteSetzen(); //effekte f<>r den Start setzen
|
||||||
if(amZug == Spieler.COMPUTER) {
|
if(amZug == Spieler.COMPUTER) { //falls der PC startet, findet hier der erste Zug statt
|
||||||
int computerZug = computerGegner.cpu_Zug(zwei_ziehen, aussetzen, kartensatz);
|
int computerZug = computerGegner.cpu_Zug(zwei_ziehen, aussetzen, kartensatz);
|
||||||
System.out.println("\nSPIEL Computerauswahl: " + computerZug);
|
if(debug) System.out.println("\nSPIEL Computerauswahl: " + computerZug);
|
||||||
switch(computerZug) {
|
switch(computerZug) {
|
||||||
case -2:
|
case -2: //aussetzen
|
||||||
aussetzen = false;
|
aussetzen = false;
|
||||||
alternieren(dashboard);
|
alternieren(dashboard);
|
||||||
break;
|
break;
|
||||||
case -1:
|
case -1: //Karte ziehen
|
||||||
karteZiehen();
|
karteZiehen();
|
||||||
break;
|
break;
|
||||||
default:
|
default: //Karte legen
|
||||||
karteLegen(computerZug);
|
karteLegen(computerZug);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(amZug == Spieler.SPIELER) {
|
else if(amZug == Spieler.SPIELER) {//falls der Spieler startet wird noch der Aussetzen-Button eingeblendet
|
||||||
if(aussetzen) dashboard.showaussetzen(true);
|
if(aussetzen) dashboard.showaussetzen(true);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
@@ -107,17 +111,17 @@ public class Spiel {
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Organisiert den Spielablauf nach jedem g<>ltigen Zug
|
* Organisiert den Spielablauf nach jedem g<>ltigen Zug, wechselt zwischen Spieler und Computer
|
||||||
* @param dashboard
|
* @param dashboard
|
||||||
*/
|
*/
|
||||||
private void alternieren(Dashboard_GUI dashboard) {
|
private void alternieren(Dashboard_GUI dashboard) {
|
||||||
if(spielGewonnen) return;
|
if(spielGewonnen) return;
|
||||||
if(amZug == Spieler.SPIELER) {
|
if(amZug == Spieler.SPIELER) { //CPU Zug findet statt
|
||||||
amZug = Spieler.COMPUTER;
|
amZug = Spieler.COMPUTER;
|
||||||
dashboard.aktualisiereGUI();
|
dashboard.aktualisiereGUI();
|
||||||
System.out.println("\nSPIEL Computer am Zug");
|
if(debug) System.out.println("\nSPIEL Computer am Zug");
|
||||||
int computerZug = computerGegner.cpu_Zug(zwei_ziehen, aussetzen, kartensatz);
|
int computerZug = computerGegner.cpu_Zug(zwei_ziehen, aussetzen, kartensatz);
|
||||||
System.out.println("SPIEL Computerauswahl: " + computerZug);
|
if(debug) System.out.println("SPIEL Computerauswahl: " + computerZug);
|
||||||
switch(computerZug) {
|
switch(computerZug) {
|
||||||
case -2:
|
case -2:
|
||||||
aussetzen = false;
|
aussetzen = false;
|
||||||
@@ -132,12 +136,12 @@ public class Spiel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else {
|
else { //Spieler Zug findet statt
|
||||||
amZug = Spieler.SPIELER;
|
amZug = Spieler.SPIELER;
|
||||||
dashboard.aktualisiereGUI();
|
dashboard.aktualisiereGUI();
|
||||||
System.out.println("\nSPIEL Spieler am Zug");
|
if(debug) System.out.println("\nSPIEL Spieler am Zug");
|
||||||
if(aussetzen) {
|
if(aussetzen) { //falls aussetzen aktiv, wird die M<>glichkeit <20>ber den Button aktiviert
|
||||||
System.out.println("\nSPIEL Aussetzen m<>glich");
|
if(debug) System.out.println("\nSPIEL Aussetzen m<>glich");
|
||||||
dashboard.showaussetzen(true);
|
dashboard.showaussetzen(true);
|
||||||
dashboard.aktualisiereGUI();
|
dashboard.aktualisiereGUI();
|
||||||
}
|
}
|
||||||
@@ -146,18 +150,19 @@ public class Spiel {
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Wird aufgerufen wenn das Spiel entschieden wurde, f<>hrt zum Spielende
|
* Wird aufgerufen wenn das Spiel entschieden wurde, f<>hrt zum Spielende
|
||||||
* @param spieler Spieler, welcher gewonnen hat
|
* @param spieler Spieler, welcher gewonnen hat
|
||||||
*/
|
*/
|
||||||
private void gewinn(Spieler spieler) {
|
private void gewinn(Spieler spieler) {
|
||||||
System.out.println("HERZLICHEN GL<47>CKWUNSCH " + spieler + ". DU HAST GEWONNEN");
|
if(debug) System.out.println("HERZLICHEN GL<47>CKWUNSCH " + spieler + ". DU HAST GEWONNEN");
|
||||||
dashboard.gewonnen(spieler);
|
dashboard.gewonnen(spieler);
|
||||||
|
if(spieler == Spieler.SPIELER) spielerverwaltung.erhoehePunkte(1);
|
||||||
spielGewonnen = true;
|
spielGewonnen = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Bietet die M<>glichkeit auszusetzen
|
* Bietet f<EFBFBD>r den Spieler die M<>glichkeit auszusetzen
|
||||||
*/
|
*/
|
||||||
public void aussetzen() {
|
public void aussetzen() {
|
||||||
if(spielGewonnen) return;
|
if(spielGewonnen) return;
|
||||||
@@ -166,72 +171,72 @@ public class Spiel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* falls eine Karte gelegt werden kann, wird diese gelegt
|
* falls eine Karte gelegt werden kann, wird diese f<EFBFBD>r den Teilnehmer gelegt
|
||||||
* @param kartenindex
|
* @param kartenindex
|
||||||
*/
|
*/
|
||||||
public void karteLegen(int kartenindex) {
|
public void karteLegen(int kartenindex) {
|
||||||
if(spielGewonnen) return;
|
if(spielGewonnen) return;
|
||||||
System.out.println("SPIEL Versuche Karte " + kartenindex + " zu legen");
|
if(debug) System.out.println("SPIEL Versuche Karte " + kartenindex + " zu legen");
|
||||||
if (spielzug.pruefeZug(kartenindex, zwei_ziehen, aussetzen, kartensatz)) { //gew<65>hlte Karte kann gelegt werden
|
if (spielzug.pruefeZug(kartenindex, zwei_ziehen, aussetzen, kartensatz)) { //gew<65>hlte Karte kann gelegt werden - Zug kann stattfinden | sonst nichts
|
||||||
System.out.println("SPIEL pruefeZug positiv");
|
if(debug) System.out.println("SPIEL pruefeZug positiv");
|
||||||
System.out.println("SPIEL Lege Karte " + kartenindex);
|
if(debug) System.out.println("SPIEL Lege Karte " + kartenindex);
|
||||||
kartensatz.ablegen(kartenindex);
|
kartensatz.ablegen(kartenindex); //karte ablegen
|
||||||
if(kartensatz.getHand(amZug).size() == 1) { //Teilnehmer hat nur noch eine Karte
|
if(kartensatz.getHand(amZug).size() == 1) { //Teilnehmer hat nur noch eine Karte
|
||||||
audio.spieleJau();
|
audio.spieleJau();
|
||||||
}
|
}
|
||||||
if(kartensatz.getHand(amZug).isEmpty()) { //Teilnehmer hat gewonnen
|
if(kartensatz.getHand(amZug).isEmpty()) { //Teilnehmer hat gewonnen
|
||||||
audio.spieleJauJau();
|
audio.spieleJauJau();
|
||||||
gewinn(amZug);
|
gewinn(amZug); //amZug hat gewonnen
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
System.out.println("SPIEL Kartenhand von COMPUTER: " + kartensatz.getHand(Spieler.COMPUTER));
|
if(debug) System.out.println("SPIEL Kartenhand von COMPUTER: " + kartensatz.getHand(Spieler.COMPUTER));
|
||||||
System.out.println("SPIEL Kartenhand von SPIELER: " + kartensatz.getHand(Spieler.SPIELER));
|
if(debug) System.out.println("SPIEL Kartenhand von SPIELER: " + kartensatz.getHand(Spieler.SPIELER));
|
||||||
effekteSetzen();
|
effekteSetzen(); //effekte neu setzen
|
||||||
if(kartensatz.getKarte(kartenindex).getWERT() == Wert.ACHT) { //Sonderfall: wiederholtes aussetzen
|
if(kartensatz.getKarte(kartenindex).getWERT() == Wert.ACHT) { //Sonderfall: wiederholtes aussetzen Spieler
|
||||||
if(amZug == Spieler.SPIELER) dashboard.showaussetzen(false);
|
if(amZug == Spieler.SPIELER) dashboard.showaussetzen(false);
|
||||||
}
|
}
|
||||||
if(kartensatz.getKarte(kartenindex).getWERT() == Wert.BUBE) { //Sonderfall: W<>nscher wurde gelegt
|
if(kartensatz.getKarte(kartenindex).getWERT() == Wert.BUBE) { //Sonderfall: W<>nscher wurde gelegt Spieler
|
||||||
if(amZug == Spieler.COMPUTER) alternieren(dashboard);
|
if(amZug == Spieler.COMPUTER) alternieren(dashboard);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
alternieren(dashboard);
|
alternieren(dashboard); //weiter ohne Sonderfall
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* falls eine oder mehrere Karten gezogen werden k<>nnen, wird dies f<>r den Teilnehmer ausgef<65>hrt
|
* falls eine oder mehrere Karten gezogen werden k<>nnen, wird dies f<>r den Teilnehmer ausgef<65>hrt
|
||||||
*/
|
*/
|
||||||
public void karteZiehen(){
|
public void karteZiehen(){
|
||||||
if(spielGewonnen) return;
|
if(spielGewonnen) return;
|
||||||
if(!aussetzen) {
|
if(!aussetzen) {
|
||||||
if(zwei_ziehen) { //mehrere ziehen
|
if(zwei_ziehen) { //mehrere ziehen
|
||||||
System.out.println("\nSPIEL " + kartenZiehen + " Karten gezogen");
|
if(debug) System.out.println("\nSPIEL " + kartenZiehen + " Karten gezogen");
|
||||||
for(int i = 0; i < kartenZiehen; i++) {
|
for(int i = 0; i < kartenZiehen; i++) {
|
||||||
kartensatz.ziehen(amZug);
|
kartensatz.ziehen(amZug);
|
||||||
}
|
}
|
||||||
kartenZiehen = 0;
|
kartenZiehen = 0;
|
||||||
zwei_ziehen = false;
|
zwei_ziehen = false;
|
||||||
}
|
}
|
||||||
else { //Normales ziehen
|
else { //Normales (1) ziehen
|
||||||
kartensatz.ziehen(amZug);
|
kartensatz.ziehen(amZug);
|
||||||
System.out.println("\nSPIEL 1 Karte gezogen");
|
if(debug) System.out.println("\nSPIEL 1 Karte gezogen");
|
||||||
}
|
}
|
||||||
alternieren(dashboard);
|
alternieren(dashboard);
|
||||||
}
|
}
|
||||||
else { //ziehen nicht m<>glich
|
else { //ziehen nicht m<>glich - nichts passiert
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Setzt die W<EFBFBD>nscher Farbe
|
* Setzt die Wunschfarbe f<>r den Spieler
|
||||||
* @param farbe
|
* @param farbe
|
||||||
*/
|
*/
|
||||||
public void wuenscher(Farbe farbe) {
|
public void wuenscher(Farbe farbe) {
|
||||||
System.out.println("\nSPIEL W<>nsche Farbe");
|
if(debug) System.out.println("\nSPIEL W<>nsche Farbe");
|
||||||
kartensatz.SetWunschfarbe(farbe);
|
kartensatz.SetWunschfarbe(farbe);
|
||||||
alternieren(dashboard);
|
alternieren(dashboard);
|
||||||
dashboard.aktualisiereGUI();
|
dashboard.aktualisiereGUI();
|
||||||
@@ -239,26 +244,26 @@ public class Spiel {
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* setzt Effekt-Variablen und Wunschfarbe f<>r einen W<>nscher
|
* setzt Effekt-Variablen und Wunschfarbe f<>r einen W<>nscher vom Spieler, ruft Farbauswahl f<>r Spieler-W<>nscher auf
|
||||||
*/
|
*/
|
||||||
private void effekteSetzen() {
|
private void effekteSetzen() {
|
||||||
if(spielGewonnen) return;
|
if(spielGewonnen) return;
|
||||||
gelegterWert = kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT();
|
gelegterWert = kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT();
|
||||||
if(gelegterWert == Wert.ACHT) {
|
if(gelegterWert == Wert.ACHT) {//Aussetzen
|
||||||
aussetzen = true;
|
aussetzen = true;
|
||||||
}
|
}
|
||||||
if(gelegterWert == Wert.SIEBEN) {
|
if(gelegterWert == Wert.SIEBEN) {//Ziehen
|
||||||
zwei_ziehen = true;
|
zwei_ziehen = true;
|
||||||
kartenZiehen += 2;
|
kartenZiehen += 2;
|
||||||
}
|
}
|
||||||
if(gelegterWert == Wert.BUBE) {
|
if(gelegterWert == Wert.BUBE) {//W<>nscher
|
||||||
if(amZug == Spieler.COMPUTER) {
|
if(amZug == Spieler.COMPUTER) {//Wunschfarbe durch PC wird gesetzt
|
||||||
kartensatz.SetWunschfarbe(computerGegner.farbeAussuchen(kartensatz));
|
kartensatz.SetWunschfarbe(computerGegner.farbeAussuchen(kartensatz));
|
||||||
}
|
}
|
||||||
else {
|
else { //Wunschfarbe durch Spieler setzen
|
||||||
dashboard.showwunsch(true);
|
dashboard.showwunsch(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
System.out.println("\nSPIEL Effekte gesetzt:\nSPIEL Aussetzen: " + aussetzen + "\nSPIEL Zwei_Ziehen: " + zwei_ziehen + "\nSPIEL Anzahl: " + kartenZiehen);
|
if(debug) System.out.println("\nSPIEL Effekte gesetzt:\nSPIEL Aussetzen: " + aussetzen + "\nSPIEL Zwei_Ziehen: " + zwei_ziehen + "\nSPIEL Anzahl: " + kartenZiehen);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,18 +1,16 @@
|
|||||||
package de.jaujau.spiellogik;
|
package de.jaujau.spiellogik;
|
||||||
|
|
||||||
import de.jaujau.daten.Kartensatz;
|
import de.jaujau.karten.Farbe;
|
||||||
import de.jaujau.daten.Spielerdaten;
|
import de.jaujau.karten.Kartensatz;
|
||||||
import de.jaujau.daten.Wert;
|
import de.jaujau.karten.Spieler;
|
||||||
|
import de.jaujau.karten.Wert;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
import de.jaujau.daten.Farbe;
|
|
||||||
import de.jaujau.daten.Spieler;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Diese Klasse verwaltet Funktionen, die den Spielzug pr<70>fen
|
* Diese Klasse verwaltet Funktionen, die den Spielzug pr<70>fen
|
||||||
* @author Moritz K<>ppe
|
* @author Moritz K<>ppe
|
||||||
*/
|
*/
|
||||||
public class Spielzug {
|
public class Spielzug {
|
||||||
|
|
||||||
@@ -21,8 +19,9 @@ public class Spielzug {
|
|||||||
//
|
//
|
||||||
|
|
||||||
private Kartensatz kartensatz;
|
private Kartensatz kartensatz;
|
||||||
|
private boolean debug = true;
|
||||||
|
|
||||||
//
|
//
|
||||||
// Constructors
|
// Constructors
|
||||||
//
|
//
|
||||||
public Spielzug (Kartensatz karten) {
|
public Spielzug (Kartensatz karten) {
|
||||||
@@ -31,7 +30,7 @@ public class Spielzug {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Funktion untersucht, ob die Karte die der Spieler zu legen versucht auch gelegt werden kann
|
* Funktion untersucht, ob die Karte die der Spieler zu legen versucht auch gelegt werden kann
|
||||||
* Sollte der Spieler gerade aussetzen m<>ssen, kann nur eine 8 gelegt werden
|
* Sollte der Spieler gerade aussetzen m<>ssen, kann nur eine 8 gelegt werden
|
||||||
* Muss der Spieler zwei Karten ziehen, kann nur eine 7 gelegt werden
|
* Muss der Spieler zwei Karten ziehen, kann nur eine 7 gelegt werden
|
||||||
* Gilt nichts von beidem muss die Karte zur vorhergelegten passen
|
* Gilt nichts von beidem muss die Karte zur vorhergelegten passen
|
||||||
* @param kartenindex Index der Karte die gelegt werden soll
|
* @param kartenindex Index der Karte die gelegt werden soll
|
||||||
@@ -46,34 +45,46 @@ public class Spielzug {
|
|||||||
Wert kartenwert = kartensatz.getKarte(kartenindex).getWERT();
|
Wert kartenwert = kartensatz.getKarte(kartenindex).getWERT();
|
||||||
Wert letztekartewert = kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT();
|
Wert letztekartewert = kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT();
|
||||||
Farbe letztekartefarbe = kartensatz.getKarte(kartensatz.getletzteKarte()).getFARBE();
|
Farbe letztekartefarbe = kartensatz.getKarte(kartensatz.getletzteKarte()).getFARBE();
|
||||||
System.out.println("SPIELZUG: Versucht Karte f<>r Funktion: " + kartenindex);
|
if (debug) {
|
||||||
System.out.println("SPIELZUG: Letzte Karte f<>r Funktion: " + letztekartewert + " " + letztekartefarbe);
|
System.out.println("SPIELZUG: Versucht Karte f<>r Funktion: " + kartenindex);
|
||||||
|
System.out.println("SPIELZUG: Letzte Karte f<>r Funktion: " + letztekartewert + " " + letztekartefarbe);
|
||||||
|
}
|
||||||
|
|
||||||
if(aussetzen && kartenwert == Wert.ACHT) {
|
if(aussetzen && kartenwert == Wert.ACHT) {
|
||||||
System.out.println("SPIELZUG: Bedingung 1");
|
if (debug) {
|
||||||
|
System.out.println("SPIELZUG: Bedingung 1");
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else if(aussetzen && !(kartenwert == Wert.ACHT)) {
|
else if(aussetzen && !(kartenwert == Wert.ACHT)) {
|
||||||
System.out.println("SPIELZUG: Bedingung 2");
|
if (debug) {
|
||||||
|
System.out.println("SPIELZUG: Bedingung 2");
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (ziehen && kartenwert == Wert.SIEBEN) {
|
else if (ziehen && kartenwert == Wert.SIEBEN) {
|
||||||
System.out.println("SPIELZUG: Bedingung 3");
|
if (debug) {
|
||||||
|
System.out.println("SPIELZUG: Bedingung 3");
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else if (!aussetzen && !ziehen && ((kartenwert == letztekartewert || kartenfarbe == letztekartefarbe) || kartenwert == Wert.BUBE)) {
|
else if (!aussetzen && !ziehen && ((kartenwert == letztekartewert || kartenfarbe == letztekartefarbe) || kartenwert == Wert.BUBE)) {
|
||||||
System.out.println("SPIELZUG: Bedingung 4");
|
if (debug) {
|
||||||
System.out.println("SPIELZUG: Aussetzen: " + aussetzen + " ziehen:" + ziehen);
|
System.out.println("SPIELZUG: Bedingung 4");
|
||||||
|
System.out.println("SPIELZUG: Aussetzen: " + aussetzen + " ziehen:" + ziehen);
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
System.out.println("SPIELZUG: Bedingung 5");
|
if (debug) {
|
||||||
|
System.out.println("SPIELZUG: Bedingung 5");
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Pr<50>ft, ob der Spieler eine Karte legen kann, indem jede Karte in der Hand des Spielers mit der Funktion pruefeZug gepr<70>ft wird
|
* Pr<50>ft, ob der Spieler eine Karte legen kann, indem jede Karte in der Hand des Spielers mit der Funktion pruefeZug gepr<70>ft wird
|
||||||
* @param spieler, Spieler am Zug
|
* @param spieler, Spieler am Zug
|
||||||
* @param boolean, muss Spieler ziehen?
|
* @param boolean, muss Spieler ziehen?
|
||||||
* @param boolean, muss Spieler aussetzen?
|
* @param boolean, muss Spieler aussetzen?
|
||||||
@@ -90,48 +101,4 @@ public class Spielzug {
|
|||||||
}
|
}
|
||||||
return gefunden;
|
return gefunden;
|
||||||
}
|
}
|
||||||
////
|
|
||||||
|
|
||||||
|
|
||||||
//
|
|
||||||
// Methods
|
|
||||||
//
|
|
||||||
|
|
||||||
|
|
||||||
//
|
|
||||||
// Accessor methods
|
|
||||||
//
|
|
||||||
|
|
||||||
//
|
|
||||||
// Other methods
|
|
||||||
//
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param spieler
|
|
||||||
* @param kartensatz
|
|
||||||
*/
|
|
||||||
public static void legen(Spielerdaten spieler, Kartensatz kartensatz)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param spieler
|
|
||||||
* @param kartensatz
|
|
||||||
*/
|
|
||||||
public static void aussetzen(Spielerdaten spieler, Kartensatz kartensatz)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param spieler
|
|
||||||
* @param kartensatz
|
|
||||||
* @param anzahl
|
|
||||||
*/
|
|
||||||
public static void ziehen(Spielerdaten spieler, Kartensatz kartensatz, int anzahl)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
package de.jaujau.daten;
|
package de.jaujau.texturen;
|
||||||
|
|
||||||
import java.awt.Image;
|
import java.awt.Image;
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
@@ -42,6 +42,7 @@ public class Texturenpaket {
|
|||||||
protected String name; //Protektet weil die abgeleitet Klasse TexturenpaketIntern auf die Werte zugreifen können muss
|
protected String name; //Protektet weil die abgeleitet Klasse TexturenpaketIntern auf die Werte zugreifen können muss
|
||||||
protected int level;
|
protected int level;
|
||||||
private final String pfad;
|
private final String pfad;
|
||||||
|
private boolean debug;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -49,6 +50,7 @@ public class Texturenpaket {
|
|||||||
* @param Pfad zu der Zip-Datei des Texturenpaketes
|
* @param Pfad zu der Zip-Datei des Texturenpaketes
|
||||||
*/
|
*/
|
||||||
public Texturenpaket(String Pfad) {
|
public Texturenpaket(String Pfad) {
|
||||||
|
debug = true;
|
||||||
name = "Nicht geladen";
|
name = "Nicht geladen";
|
||||||
level = 0;
|
level = 0;
|
||||||
pfad = Pfad;
|
pfad = Pfad;
|
||||||
@@ -60,7 +62,7 @@ public class Texturenpaket {
|
|||||||
* @return Paket vollständig geladen, true/false
|
* @return Paket vollständig geladen, true/false
|
||||||
*/
|
*/
|
||||||
public boolean ladePacket() {
|
public boolean ladePacket() {
|
||||||
System.out.println("TEXTURENPAKET: Lade Paket");
|
if(debug)System.out.println("TEXTURENPAKET: Lade Paket");
|
||||||
if(testePaket()) {
|
if(testePaket()) {
|
||||||
//Paket ist OK
|
//Paket ist OK
|
||||||
|
|
||||||
@@ -82,12 +84,12 @@ public class Texturenpaket {
|
|||||||
//Name Auslesen
|
//Name Auslesen
|
||||||
if(Spalte[0].equals("name")) {
|
if(Spalte[0].equals("name")) {
|
||||||
name = Spalte[1];
|
name = Spalte[1];
|
||||||
System.out.println("TEXTURENPAKET: Name: " + name);
|
if(debug)System.out.println("TEXTURENPAKET: Name: " + name);
|
||||||
}
|
}
|
||||||
//Level Auslesen
|
//Level Auslesen
|
||||||
if(Spalte[0].equals("level")) {
|
if(Spalte[0].equals("level")) {
|
||||||
level = Integer.parseInt(Spalte[1]);
|
level = Integer.parseInt(Spalte[1]);
|
||||||
System.out.println("TEXTURENPAKET: Level: " + level);
|
if(debug)System.out.println("TEXTURENPAKET: Level: " + level);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -166,7 +168,7 @@ public class Texturenpaket {
|
|||||||
* @return Paket vollständig, true/false
|
* @return Paket vollständig, true/false
|
||||||
*/
|
*/
|
||||||
private boolean testePaket() {
|
private boolean testePaket() {
|
||||||
System.out.println("TEXTURENPAKET: Paket auf Fehler untersuchen:");
|
if(debug)System.out.println("TEXTURENPAKET: Paket auf Fehler untersuchen:");
|
||||||
//Testen ob Zip-Datei vorhanden und lesabar ist
|
//Testen ob Zip-Datei vorhanden und lesabar ist
|
||||||
File zipDatei = new File(pfad);
|
File zipDatei = new File(pfad);
|
||||||
if(zipDatei.exists() || zipDatei.canRead()) {
|
if(zipDatei.exists() || zipDatei.canRead()) {
|
||||||
@@ -184,7 +186,7 @@ public class Texturenpaket {
|
|||||||
while(scanner.hasNext()) {
|
while(scanner.hasNext()) {
|
||||||
//Prüfen ob Konfigurations Datei die Einträge "name" und "level" enthält
|
//Prüfen ob Konfigurations Datei die Einträge "name" und "level" enthält
|
||||||
String Zeile = scanner.nextLine();
|
String Zeile = scanner.nextLine();
|
||||||
System.out.println("TEXTURENPAKET: Konfigzeile:" + Zeile);
|
if(debug)System.out.println("TEXTURENPAKET: Konfigzeile:" + Zeile);
|
||||||
if(Zeile.contains("name:")) {
|
if(Zeile.contains("name:")) {
|
||||||
PaketName = true;
|
PaketName = true;
|
||||||
}
|
}
|
||||||
@@ -194,7 +196,7 @@ public class Texturenpaket {
|
|||||||
}
|
}
|
||||||
scanner.close();
|
scanner.close();
|
||||||
if(!PaketName || !PaketLevel) {
|
if(!PaketName || !PaketLevel) {
|
||||||
System.out.println("TEXTURENPAKET: Paket Konfiguration fehlerhaft");
|
if(debug)System.out.println("TEXTURENPAKET: Paket Konfiguration fehlerhaft");
|
||||||
paketDatei.close();
|
paketDatei.close();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -205,10 +207,10 @@ public class Texturenpaket {
|
|||||||
InputStream eingabeStromTextur = paketDatei.getInputStream(zipInhaltTextur);
|
InputStream eingabeStromTextur = paketDatei.getInputStream(zipInhaltTextur);
|
||||||
Image bild = ImageIO.read(eingabeStromTextur);
|
Image bild = ImageIO.read(eingabeStromTextur);
|
||||||
if(bild == null) {
|
if(bild == null) {
|
||||||
System.out.println("TEXTURENPAKET: Datei: " + i + ".png nicht gefunden");
|
if(debug)System.out.println("TEXTURENPAKET: Datei: " + i + ".png nicht gefunden");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
System.out.println("TEXTURENPAKET: Datei: " + i + ".png OK!");
|
if(debug)System.out.println("TEXTURENPAKET: Datei: " + i + ".png OK!");
|
||||||
}
|
}
|
||||||
|
|
||||||
paketDatei.close();
|
paketDatei.close();
|
||||||
@@ -229,7 +231,7 @@ public class Texturenpaket {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Alles OK
|
//Alles OK
|
||||||
System.out.println("TEXTURENPAKET: Texturen Paket ist OK");
|
if(debug)System.out.println("TEXTURENPAKET: Texturen Paket ist OK");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
@@ -1,4 +1,4 @@
|
|||||||
package de.jaujau.daten;
|
package de.jaujau.texturen;
|
||||||
|
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
@@ -1,4 +1,4 @@
|
|||||||
package de.jaujau.daten;
|
package de.jaujau.texturen;
|
||||||
|
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -12,13 +12,16 @@ public class Texturenpakete {
|
|||||||
private ArrayList<Texturenpaket> TexturenpaketListe;
|
private ArrayList<Texturenpaket> TexturenpaketListe;
|
||||||
private BufferedImage Texturen[];
|
private BufferedImage Texturen[];
|
||||||
private int AktivesPaket;
|
private int AktivesPaket;
|
||||||
|
private boolean debug;
|
||||||
|
|
||||||
|
|
||||||
public Texturenpakete(){
|
public Texturenpakete(){
|
||||||
|
debug = true;
|
||||||
|
|
||||||
TexturenpaketListe = new ArrayList<Texturenpaket>();
|
TexturenpaketListe = new ArrayList<Texturenpaket>();
|
||||||
|
|
||||||
//Hinzufügen eines Internen Texturenpaketes
|
//Hinzufügen eines Internen Texturenpaketes
|
||||||
TexturenpaketListe.add(new TexturenpaketIntern("/img/texturen/standart", "JauJau Standart Texturen Französisch", 0));
|
TexturenpaketListe.add(new TexturenpaketIntern("/img/texturen/standart", "JauJau Französisch", 0));
|
||||||
|
|
||||||
//Internes Texturenpaket als Aktiv festlegen
|
//Internes Texturenpaket als Aktiv festlegen
|
||||||
setAktivesPaket(0);
|
setAktivesPaket(0);
|
||||||
@@ -80,7 +83,7 @@ public class Texturenpakete {
|
|||||||
if((PaketNr >= 0) && (PaketNr < TexturenpaketListe.size())) {
|
if((PaketNr >= 0) && (PaketNr < TexturenpaketListe.size())) {
|
||||||
AktivesPaket = PaketNr;
|
AktivesPaket = PaketNr;
|
||||||
Texturen = TexturenpaketListe.get(PaketNr).getTexturen();
|
Texturen = TexturenpaketListe.get(PaketNr).getTexturen();
|
||||||
System.out.println("TEXTURENPAKETE: Paket (" + PaketNr + ") '" + TexturenpaketListe.get(PaketNr).getName() + "' aktiv gesetzt!");
|
if(debug)System.out.println("TEXTURENPAKETE: Paket (" + PaketNr + ") '" + TexturenpaketListe.get(PaketNr).getName() + "' aktiv gesetzt!");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@@ -98,7 +101,7 @@ public class Texturenpakete {
|
|||||||
Texturenpaket NeuesPaket = new Texturenpaket(Pfad);
|
Texturenpaket NeuesPaket = new Texturenpaket(Pfad);
|
||||||
if(NeuesPaket.ladePacket()) {
|
if(NeuesPaket.ladePacket()) {
|
||||||
TexturenpaketListe.add(NeuesPaket);
|
TexturenpaketListe.add(NeuesPaket);
|
||||||
System.out.println("TEXTURENPAKETE: Paket '" + NeuesPaket.getName() + "' hinzugfügt!");
|
if(debug)System.out.println("TEXTURENPAKETE: Paket '" + NeuesPaket.getName() + "' hinzugfügt!");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -118,5 +121,17 @@ public class Texturenpakete {
|
|||||||
}
|
}
|
||||||
return Texturen[32];
|
return Texturen[32];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Prüft ob mit dem Aktuellen level das akteulle Texturenpaket genutzet werden kann
|
||||||
|
* Wenn das nicht zutrifft wird das erste Standart Paket genutzt
|
||||||
|
* @param Level des aktuellen Spielers
|
||||||
|
*/
|
||||||
|
public void pruefeLevel(int Level) {
|
||||||
|
if(TexturenpaketListe.get(AktivesPaket).getLevel() > Level) {
|
||||||
|
setAktivesPaket(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
BIN
src/img/jaujau.gif
Normal file
BIN
src/img/jaujau.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 48 KiB |
BIN
src/img/jaujau.png
Normal file
BIN
src/img/jaujau.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.0 KiB |
Reference in New Issue
Block a user