Compare commits
12 Commits
66ceb20ef4
...
8c483f41ac
Author | SHA1 | Date | |
---|---|---|---|
![]() |
8c483f41ac | ||
![]() |
aeb4e7a5ac | ||
![]() |
a504e7e449 | ||
![]() |
48ce30807f | ||
![]() |
2a831cf3cc | ||
![]() |
bd440e8150 | ||
![]() |
471c2e7353 | ||
![]() |
f66b1079c1 | ||
![]() |
2d6005418b | ||
![]() |
c061331642 | ||
![]() |
b7ceb972b1 | ||
![]() |
42f9ee819b |
BIN
JauJau-Texturen-Ressource.zip
Normal file
BIN
JauJau-Texturen-Ressource.zip
Normal file
Binary file not shown.
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
|
Binary file not shown.
Before Width: | Height: | Size: 263 KiB After Width: | Height: | Size: 141 KiB |
@@ -1,115 +1,7 @@
|
||||
<?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.daten.Spielerdaten" project="inb1-a-jaujau"
|
||||
file="/inb1-a-jaujau/src/de/jaujau/daten/Spielerdaten.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="-1" width="-1" x="823" y="334"/>
|
||||
<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.daten.Texturenpakete" project="inb1-a-jaujau"
|
||||
file="/inb1-a-jaujau/src/de/jaujau/daten/Texturenpakete.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="279" width="164" x="47" y="-3"/>
|
||||
<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.daten.Karte" project="inb1-a-jaujau"
|
||||
file="/inb1-a-jaujau/src/de/jaujau/daten/Karte.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="-1" width="-1" x="835" y="691"/>
|
||||
<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.daten.Spielerverwaltung" project="inb1-a-jaujau"
|
||||
file="/inb1-a-jaujau/src/de/jaujau/daten/Spielerverwaltung.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="-1" width="-1" x="664" y="-207"/>
|
||||
<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>
|
||||
<enumeration id="5" language="java" name="de.jaujau.daten.Farbe" project="inb1-a-jaujau"
|
||||
file="/inb1-a-jaujau/src/de/jaujau/daten/Farbe.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="-1" width="-1" x="648" y="936"/>
|
||||
<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>
|
||||
</enumeration>
|
||||
<class id="6" language="java" name="de.jaujau.daten.Kartensatz" project="inb1-a-jaujau"
|
||||
file="/inb1-a-jaujau/src/de/jaujau/daten/Kartensatz.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="-1" width="-1" x="1032" y="971"/>
|
||||
<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="7" language="java" name="de.jaujau.daten.Audio" project="inb1-a-jaujau"
|
||||
file="/inb1-a-jaujau/src/de/jaujau/daten/Audio.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="-1" width="-1" x="2022" y="1441"/>
|
||||
<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="8" language="java" name="de.jaujau.daten.TexturenpaketIntern" project="inb1-a-jaujau"
|
||||
file="/inb1-a-jaujau/src/de/jaujau/daten/TexturenpaketIntern.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="-1" width="-1" x="417" y="706"/>
|
||||
<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>
|
||||
<enumeration id="9" language="java" name="de.jaujau.daten.Ablageort" project="inb1-a-jaujau"
|
||||
file="/inb1-a-jaujau/src/de/jaujau/daten/Ablageort.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="-1" width="-1" x="825" y="935"/>
|
||||
<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>
|
||||
</enumeration>
|
||||
<class id="10" language="java" name="de.jaujau.daten.Texturenpaket" project="inb1-a-jaujau"
|
||||
file="/inb1-a-jaujau/src/de/jaujau/daten/Texturenpaket.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="-1" width="-1" x="424" y="430"/>
|
||||
<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>
|
||||
<enumeration id="11" language="java" name="de.jaujau.daten.Spieler" project="inb1-a-jaujau"
|
||||
file="/inb1-a-jaujau/src/de/jaujau/daten/Spieler.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="-1" width="-1" x="2223" y="1450"/>
|
||||
<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>
|
||||
</enumeration>
|
||||
<enumeration id="12" language="java" name="de.jaujau.daten.Wert" project="inb1-a-jaujau"
|
||||
file="/inb1-a-jaujau/src/de/jaujau/daten/Wert.java" binary="false" corner="BOTTOM_RIGHT">
|
||||
<position height="-1" width="-1" x="1508" y="773"/>
|
||||
<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>
|
||||
</enumeration>
|
||||
<class id="13" language="java" name="de.jaujau.gui.Dashboard_GUI" project="inb1-a-jaujau"
|
||||
<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"
|
||||
@@ -118,7 +10,7 @@
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="14" language="java" name="de.jaujau.gui.Hilfe_GUI" project="inb1-a-jaujau"
|
||||
<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"
|
||||
@@ -127,7 +19,7 @@
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="15" language="java" name="de.jaujau.gui.texturenauswaehlen_GUI" project="inb1-a-jaujau"
|
||||
<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"
|
||||
@@ -136,7 +28,7 @@
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="16" language="java" name="de.jaujau.gui.GUI" project="inb1-a-jaujau"
|
||||
<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"
|
||||
@@ -145,7 +37,7 @@
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="17" language="java" name="de.jaujau.spiellogik.Computer_gegner" project="inb1-a-jaujau"
|
||||
<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"
|
||||
@@ -154,7 +46,7 @@
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="18" language="java" name="de.jaujau.spiellogik.Anwendung" project="inb1-a-jaujau"
|
||||
<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"
|
||||
@@ -163,7 +55,7 @@
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="19" language="java" name="de.jaujau.spiellogik.Spielzug" project="inb1-a-jaujau"
|
||||
<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"
|
||||
@@ -172,7 +64,7 @@
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<class id="20" language="java" name="de.jaujau.spiellogik.Spiel" project="inb1-a-jaujau"
|
||||
<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"
|
||||
@@ -181,240 +73,88 @@
|
||||
<operations public="true" package="true" protected="true" private="true" static="true"/>
|
||||
</display>
|
||||
</class>
|
||||
<association id="21">
|
||||
<association id="9">
|
||||
<end type="SOURCE" refId="4" navigable="false">
|
||||
<attribute id="22" name="aktuellerSpieler"/>
|
||||
<multiplicity id="23" minimum="0" maximum="1"/>
|
||||
<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="1" navigable="true"/>
|
||||
<end type="TARGET" refId="8" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<association id="24">
|
||||
<end type="SOURCE" refId="3" navigable="false">
|
||||
<attribute id="25" name="WERT"/>
|
||||
<multiplicity id="26" minimum="0" maximum="1"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="12" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<association id="27">
|
||||
<end type="SOURCE" refId="17" navigable="false">
|
||||
<attribute id="28" name="kartensatz"/>
|
||||
<multiplicity id="29" minimum="0" maximum="1"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="6" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<association id="30">
|
||||
<end type="SOURCE" refId="18" navigable="false">
|
||||
<attribute id="31" name="texturenpakete"/>
|
||||
<multiplicity id="32" minimum="0" maximum="1"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="2" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<association id="33">
|
||||
<end type="SOURCE" refId="13" navigable="false">
|
||||
<attribute id="34" name="texturenpakete"/>
|
||||
<multiplicity id="35" minimum="0" maximum="1"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="2" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<association id="36">
|
||||
<end type="SOURCE" refId="15" navigable="false">
|
||||
<attribute id="37" name="pakete"/>
|
||||
<multiplicity id="38" minimum="0" maximum="1"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="2" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<association id="39">
|
||||
<end type="SOURCE" refId="15" navigable="false">
|
||||
<attribute id="40" name="spielerverwaltung"/>
|
||||
<multiplicity id="41" minimum="0" maximum="1"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="4" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<association id="42">
|
||||
<end type="SOURCE" refId="20" navigable="false">
|
||||
<attribute id="43" name="kartensatz"/>
|
||||
<multiplicity id="44" minimum="0" maximum="1"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="6" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<association id="45">
|
||||
<end type="SOURCE" refId="20" navigable="false">
|
||||
<attribute id="46" name="gelegterWert"/>
|
||||
<multiplicity id="47" minimum="0" maximum="1"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="12" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<association id="48">
|
||||
<end type="SOURCE" refId="3" navigable="false">
|
||||
<attribute id="49" name="FARBE"/>
|
||||
<multiplicity id="50" minimum="0" maximum="1"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="5" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<association id="51">
|
||||
<end type="SOURCE" refId="20" navigable="false">
|
||||
<attribute id="52" name="computerGegner"/>
|
||||
<multiplicity id="53" minimum="0" maximum="1"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="17" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<association id="54">
|
||||
<end type="SOURCE" refId="19" navigable="false">
|
||||
<attribute id="55" name="kartensatz"/>
|
||||
<multiplicity id="56" minimum="0" maximum="1"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="6" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<association id="57">
|
||||
<end type="SOURCE" refId="13" navigable="false">
|
||||
<attribute id="58" name="aktuellesSpiel"/>
|
||||
<multiplicity id="59" minimum="0" maximum="1"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="20" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<association id="60">
|
||||
<end type="SOURCE" refId="18" navigable="false">
|
||||
<attribute id="61" name="speicherung"/>
|
||||
<multiplicity id="62" minimum="0" maximum="1"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="4" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<association id="63">
|
||||
<end type="SOURCE" refId="20" navigable="false">
|
||||
<attribute id="64" name="audio"/>
|
||||
<multiplicity id="65" minimum="0" maximum="1"/>
|
||||
<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>
|
||||
<generalization id="66">
|
||||
<end type="SOURCE" refId="8"/>
|
||||
<end type="TARGET" refId="10"/>
|
||||
</generalization>
|
||||
<association id="67">
|
||||
<end type="SOURCE" refId="20" navigable="false">
|
||||
<attribute id="68" name="spielzug"/>
|
||||
<multiplicity id="69" minimum="0" maximum="1"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="19" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<association id="70">
|
||||
<end type="SOURCE" refId="4" navigable="false">
|
||||
<attribute id="71" name="spieler"/>
|
||||
<multiplicity id="72" minimum="0" maximum="1"/>
|
||||
<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="73">
|
||||
<end type="SOURCE" refId="16" navigable="false">
|
||||
<attribute id="74" name="aktuellesSpiel"/>
|
||||
<multiplicity id="75" minimum="0" maximum="1"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="20" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<association id="76">
|
||||
<association id="18">
|
||||
<end type="SOURCE" refId="6" navigable="false">
|
||||
<attribute id="77" name="kartensatz"/>
|
||||
<multiplicity id="78" minimum="0" maximum="2147483647"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="3" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<association id="79">
|
||||
<end type="SOURCE" refId="2" navigable="false">
|
||||
<attribute id="80" name="TexturenpaketListe"/>
|
||||
<multiplicity id="81" minimum="0" maximum="2147483647"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="10" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<association id="82">
|
||||
<end type="SOURCE" refId="20" navigable="false">
|
||||
<attribute id="83" name="dashboard"/>
|
||||
<multiplicity id="84" minimum="0" maximum="1"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="13" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<association id="85">
|
||||
<end type="SOURCE" refId="16" navigable="false">
|
||||
<attribute id="86" name="frame"/>
|
||||
<multiplicity id="87" minimum="0" maximum="1"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="14" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<association id="88">
|
||||
<end type="SOURCE" refId="4" navigable="false">
|
||||
<attribute id="89" name="daten"/>
|
||||
<multiplicity id="90" minimum="0" maximum="2147483647"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="1" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<association id="91">
|
||||
<end type="SOURCE" refId="13" navigable="false">
|
||||
<attribute id="92" name="spielerverwaltung"/>
|
||||
<multiplicity id="93" minimum="0" maximum="1"/>
|
||||
<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="94">
|
||||
<end type="SOURCE" refId="17" navigable="false">
|
||||
<attribute id="95" name="letztekartefarbe"/>
|
||||
<multiplicity id="96" minimum="0" maximum="1"/>
|
||||
<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="97">
|
||||
<end type="SOURCE" refId="18" navigable="false">
|
||||
<attribute id="98" name="view"/>
|
||||
<multiplicity id="99" minimum="0" maximum="1"/>
|
||||
<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="16" navigable="true"/>
|
||||
<end type="TARGET" refId="2" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<association id="100">
|
||||
<end type="SOURCE" refId="3" navigable="false">
|
||||
<attribute id="101" name="Ablageort"/>
|
||||
<multiplicity id="102" minimum="0" maximum="1"/>
|
||||
<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="9" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<association id="103">
|
||||
<end type="SOURCE" refId="17" navigable="false">
|
||||
<attribute id="104" name="letztekartewert"/>
|
||||
<multiplicity id="105" minimum="0" maximum="1"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="12" navigable="true"/>
|
||||
<display labels="true" multiplicity="true"/>
|
||||
</association>
|
||||
<association id="106">
|
||||
<end type="SOURCE" refId="20" navigable="false">
|
||||
<attribute id="107" name="amZug"/>
|
||||
<multiplicity id="108" minimum="0" maximum="1"/>
|
||||
</end>
|
||||
<end type="TARGET" refId="11" navigable="true"/>
|
||||
<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"
|
||||
|
@@ -5,7 +5,7 @@ package de.jaujau.UnitTests;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import de.jaujau.daten.Audio;
|
||||
import de.jaujau.audio.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.Test;
|
||||
|
||||
import de.jaujau.daten.Farbe;
|
||||
import de.jaujau.daten.Kartensatz;
|
||||
import de.jaujau.daten.Spieler;
|
||||
import de.jaujau.karten.Farbe;
|
||||
import de.jaujau.karten.Kartensatz;
|
||||
import de.jaujau.karten.Spieler;
|
||||
|
||||
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.Test;
|
||||
|
||||
import de.jaujau.daten.Texturenpaket;
|
||||
import de.jaujau.texturen.Texturenpaket;
|
||||
|
||||
class TEST_Texturenpaket {
|
||||
|
||||
|
@@ -5,7 +5,8 @@ import static org.junit.jupiter.api.Assertions.*;
|
||||
import java.awt.Image;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
import de.jaujau.daten.TexturenpaketIntern;
|
||||
|
||||
import de.jaujau.texturen.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.Test;
|
||||
|
||||
import de.jaujau.daten.Texturenpakete;
|
||||
import de.jaujau.texturen.Texturenpakete;
|
||||
|
||||
class TEST_Texturenpakete {
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package de.jaujau.daten;
|
||||
package de.jaujau.audio;
|
||||
|
||||
|
||||
import java.io.IOException;
|
@@ -1,51 +0,0 @@
|
||||
/**
|
||||
|
||||
* @author Alaa Aldin
|
||||
|
||||
* @version 1.0
|
||||
|
||||
*/
|
||||
package de.jaujau.daten;
|
||||
//import de.jaujau.spiellogik.Spiel;
|
||||
|
||||
/**
|
||||
* Class Spieler
|
||||
*/
|
||||
|
||||
public class Spielerdaten {
|
||||
|
||||
private int punktestand; // Punktestand des Spielers
|
||||
private String name /* = Spieler.getSpieler() */; // Name des Spielers
|
||||
|
||||
public Spielerdaten (String name, int punkte) { //Arraylist
|
||||
this.name = name;
|
||||
this.punktestand = punkte;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the value of punktestand
|
||||
*
|
||||
* @return the value of punktestand
|
||||
*/
|
||||
|
||||
public int getPunktestand() { //Zur<75>ckgeben der gesammelten Punkte
|
||||
return punktestand;
|
||||
}
|
||||
|
||||
public void setPunktestand(int punkte) { //Einsetzen des Punktestands
|
||||
punktestand = punkte;
|
||||
}
|
||||
/**
|
||||
* Get the value of name
|
||||
*
|
||||
* @return the value of name
|
||||
*/
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String Name) { //Einsetzen des Namen des Spielers
|
||||
name = Name;
|
||||
}
|
||||
|
||||
}
|
@@ -1,195 +0,0 @@
|
||||
/**
|
||||
|
||||
* @author Alaa Aldin
|
||||
|
||||
* @version 1.0
|
||||
|
||||
*/
|
||||
package de.jaujau.daten;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.BufferedWriter;
|
||||
import java.io.FileReader;
|
||||
import java.io.FileWriter;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class Spielerverwaltung {
|
||||
private int local;
|
||||
private int level;
|
||||
private Spielerdaten spieler;
|
||||
private Spielerdaten aktuellerSpieler;
|
||||
private ArrayList <Spielerdaten> daten = new ArrayList<Spielerdaten>();
|
||||
private String [][] transdaten;
|
||||
public void addSpieler(String name) { //Neue Spieler hinzuf<75>gen
|
||||
//leseDaten();
|
||||
daten.add(new Spielerdaten(name, 0));
|
||||
}
|
||||
|
||||
public void setaktuellerSpieler(String name) {
|
||||
aktuellerSpieler = sucheSpieler(name);
|
||||
}
|
||||
|
||||
public Spielerdaten sucheSpieler(String name) {
|
||||
for (int i = 0; i < daten.size(); i++) {
|
||||
if (daten.get(i).getName().equals(name)) {
|
||||
System.out.println("SPIELERVERWALTUNG: Spieler gefunden");
|
||||
return daten.get(i);
|
||||
}
|
||||
}
|
||||
addSpieler(name);
|
||||
System.out.println("SPIELERVERWALTUNG: Neuer Spieler erstellt");
|
||||
return daten.get(daten.size()-1);
|
||||
|
||||
}
|
||||
|
||||
public Spielerdaten getaktuellerSpieler() {
|
||||
return aktuellerSpieler;
|
||||
}
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
|
||||
public String [][] toArray (ArrayList <Spielerdaten> a){ //Arraylist in Array umwandeln
|
||||
String [][]neuerArray = new String [a.size()][2];
|
||||
System.out.println("TOARRAY: " + daten.size());
|
||||
for (int j = 0 ; j< a.size(); j++) {
|
||||
neuerArray[j][0] = a.get(j).getName();
|
||||
neuerArray[j][1] = Integer.toString(a.get(j).getPunktestand());
|
||||
}
|
||||
return neuerArray;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the value of spieler arraylist von Spieler
|
||||
*
|
||||
* @param newSpieler the new value of spieler
|
||||
*/
|
||||
|
||||
public void setSpieler(String a) { //setze einen Spieler ein.
|
||||
leseDaten();
|
||||
transdaten = toArray(getDaten());
|
||||
System.out.println(transdaten.length);
|
||||
for (int i = 0; i < transdaten.length; i++) {
|
||||
if (transdaten[i][0].matches(a)) {
|
||||
setPlace(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
public void editName (String alt, String neu) { //Editieren des Namen des Spielers
|
||||
setSpieler(alt);
|
||||
int place = getPlace();
|
||||
transdaten[place][0] = neu;
|
||||
daten.get(place).setName(neu);
|
||||
speichernDaten();
|
||||
}
|
||||
public void erhoehePunkte (String a) { //erhoeht die Punkten des Spielers um 1
|
||||
setSpieler(a);
|
||||
int place = getPlace();
|
||||
int neuerWert = Integer.parseInt(transdaten[place][1])+1;
|
||||
transdaten[place][1] = Integer.toString(neuerWert);
|
||||
daten.get(place).setPunktestand(neuerWert);
|
||||
speichernDaten();
|
||||
}
|
||||
|
||||
|
||||
public void setPlace(int loc) { //setzt der Ort der Daten im Array
|
||||
local = loc;
|
||||
}
|
||||
|
||||
public int getPlace() { //Ort der Daten im Array
|
||||
return local;
|
||||
}
|
||||
/**
|
||||
* Get the value of spieler arraylist von Spieler
|
||||
*
|
||||
* @return the value of spieler
|
||||
*/
|
||||
|
||||
|
||||
public ArrayList<Spielerdaten> getDaten() { // Zur<75>ckgeben der gelesenen Daten aus der Textdatei
|
||||
return daten;
|
||||
}
|
||||
|
||||
public void umsetzeDaten( String [][] neueDaten) {//Arraylist aus Array
|
||||
for (int i = 0 ; i < neueDaten.length; i++) {
|
||||
daten.add(new Spielerdaten (neueDaten[i][0], Integer.parseInt(neueDaten[i][1])));
|
||||
}
|
||||
}
|
||||
/**
|
||||
*/
|
||||
public void leseDaten() { //lese Daten aus der Textdatei und speichere die in die Arraylist
|
||||
umsetzeDaten(gethighscoreTabelle());
|
||||
/* for (Spielerdaten a : daten) { // M<>ll
|
||||
System.out.println(a.getName() + " " +a.getPunktestand());
|
||||
}*/
|
||||
}
|
||||
|
||||
public void speichernDaten() { //Speichere die bearbeiteten Daten in die Textdatei (Aus der Arraylist)
|
||||
ArrayList <Spielerdaten> newDaten = getDaten();
|
||||
String [][] umwandelteDaten = new String [newDaten.size()][2];
|
||||
int i = 0;
|
||||
if (! newDaten.isEmpty()) {
|
||||
for (Spielerdaten inhalt : newDaten ) {
|
||||
umwandelteDaten [i][0] = inhalt.getName();
|
||||
umwandelteDaten [i][1] = Integer.toString(inhalt.getPunktestand());
|
||||
i++;
|
||||
}
|
||||
try {
|
||||
BufferedWriter writer = new BufferedWriter(new FileWriter("highscore.txt")); //Erzeugen eines effizienten Writers f<>r Textdateien
|
||||
for (int j = 0; j < umwandelteDaten.length; j++) {
|
||||
writer.write(umwandelteDaten [j][0] +";"+umwandelteDaten [j][1]);
|
||||
writer.newLine();
|
||||
}
|
||||
writer.close();
|
||||
}
|
||||
catch(IOException ioe) {
|
||||
System.err.println(ioe);
|
||||
}
|
||||
}
|
||||
else
|
||||
System.err.println("Es gibt keine Dateien zum Speichern!");
|
||||
}
|
||||
|
||||
public void dateiEinlesen() {
|
||||
BufferedReader reader;
|
||||
try {
|
||||
reader = new BufferedReader(new FileReader("highscore.txt"));
|
||||
String line = reader.readLine();
|
||||
while (line != null) {
|
||||
String [] newline = line.split(";");
|
||||
String name = newline[0];
|
||||
int score = Integer.parseInt(newline[1]);
|
||||
daten.add(new Spielerdaten (name,score));
|
||||
line = reader.readLine();
|
||||
}
|
||||
reader.close();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// die Daten als zweidimensionales Array
|
||||
// zurueckgegeben
|
||||
public String[][] gethighscoreTabelle() {
|
||||
System.out.println(daten.size());
|
||||
return toArray(daten);
|
||||
}
|
||||
}
|
@@ -1,6 +1,6 @@
|
||||
package de.jaujau.gui;
|
||||
import static de.jaujau.daten.Spieler.COMPUTER;
|
||||
import static de.jaujau.daten.Spieler.SPIELER;
|
||||
import static de.jaujau.karten.Spieler.COMPUTER;
|
||||
import static de.jaujau.karten.Spieler.SPIELER;
|
||||
|
||||
import java.awt.BorderLayout;
|
||||
import java.awt.CardLayout;
|
||||
@@ -9,11 +9,13 @@ import javax.swing.JPanel;
|
||||
import javax.swing.JScrollPane;
|
||||
import javax.swing.JTable;
|
||||
import javax.swing.table.DefaultTableModel;
|
||||
import de.jaujau.daten.Farbe;
|
||||
import de.jaujau.daten.Spieler;
|
||||
import de.jaujau.daten.Spielerverwaltung;
|
||||
import de.jaujau.daten.Texturenpakete;
|
||||
|
||||
import de.jaujau.karten.Farbe;
|
||||
import de.jaujau.karten.Spieler;
|
||||
import de.jaujau.spieler.Spielerverwaltung;
|
||||
import de.jaujau.spiellogik.Spiel;
|
||||
import de.jaujau.texturen.Texturenpakete;
|
||||
|
||||
import javax.swing.JLabel;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Image;
|
||||
@@ -265,7 +267,8 @@ public class Dashboard_GUI extends JPanel{
|
||||
getname.addMouseListener(new MouseAdapter() {
|
||||
@Override
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
speicherung.setaktuellerSpieler(getspielername());
|
||||
speicherung.setSpieler(getspielername());
|
||||
level_count.setText(Integer.toString(speicherung.getLevel()));
|
||||
}
|
||||
});
|
||||
panel_1.setBackground(new Color(51, 51, 153));
|
||||
@@ -345,8 +348,8 @@ public class Dashboard_GUI extends JPanel{
|
||||
|
||||
private void renderStart(){
|
||||
spielername.removeAllItems();
|
||||
for(int i = 0; i<spielerverwaltung.gethighscoreTabelle().length; i++) {
|
||||
spielername.addItem(spielerverwaltung.gethighscoreTabelle()[i][0]);
|
||||
for(int i = 0; i<spielerverwaltung.getHighscoreTabelle().length; i++) {
|
||||
spielername.addItem(spielerverwaltung.getHighscoreTabelle()[i][0]);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -359,7 +362,7 @@ public class Dashboard_GUI extends JPanel{
|
||||
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"};
|
||||
|
||||
|
@@ -9,11 +9,16 @@ import java.awt.Dimension;
|
||||
import javax.swing.JLabel;
|
||||
import javax.swing.ImageIcon;
|
||||
import javax.swing.SwingConstants;
|
||||
import de.jaujau.daten.Spielerverwaltung;
|
||||
import de.jaujau.daten.Texturenpakete;
|
||||
|
||||
import de.jaujau.spieler.Spielerverwaltung;
|
||||
import de.jaujau.spiellogik.Spiel;
|
||||
import de.jaujau.texturen.Texturenpakete;
|
||||
|
||||
import java.awt.event.MouseAdapter;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.awt.event.WindowAdapter;
|
||||
import java.awt.event.WindowEvent;
|
||||
|
||||
import javax.swing.BoxLayout;
|
||||
import java.awt.Font;
|
||||
import java.awt.Toolkit;
|
||||
@@ -167,9 +172,14 @@ public class GUI extends JFrame{
|
||||
//Spiel starten -- Label zum starten des Spiels
|
||||
gamelabel.addMouseListener(new MouseAdapter() {
|
||||
public void mouseClicked(MouseEvent e) {
|
||||
aktuellesSpiel = new Spiel(Dashboard_GUI);
|
||||
System.out.println("GUI: Spiel GUI geöffnet");
|
||||
Dashboard_GUI.showgame(aktuellesSpiel);
|
||||
aktuellesSpiel = new Spiel(Dashboard_GUI, speicherung);
|
||||
if(speicherung.getSpieler() == "") {
|
||||
System.out.println("GUI: Kein Spieler gesetzt");
|
||||
}else{
|
||||
System.out.println("GUI: Spiel GUI geöffnet");
|
||||
Dashboard_GUI.showgame(aktuellesSpiel);
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
@@ -203,5 +213,16 @@ public class GUI extends JFrame{
|
||||
}
|
||||
});
|
||||
|
||||
addWindowListener(new WindowAdapter()
|
||||
{
|
||||
@Override
|
||||
public void windowClosing(WindowEvent e)
|
||||
{
|
||||
System.out.println("GUI: Geschlossen");
|
||||
speicherung.schreibeDatei();
|
||||
e.getWindow().dispose();
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
|
@@ -13,8 +13,9 @@ import javax.swing.JPanel;
|
||||
import javax.swing.SwingConstants;
|
||||
import javax.swing.border.EmptyBorder;
|
||||
|
||||
import de.jaujau.daten.Spielerverwaltung;
|
||||
import de.jaujau.daten.Texturenpakete;
|
||||
import de.jaujau.spieler.Spielerverwaltung;
|
||||
import de.jaujau.texturen.Texturenpakete;
|
||||
|
||||
import javax.swing.JComboBox;
|
||||
import javax.swing.JFileChooser;
|
||||
|
||||
@@ -133,14 +134,11 @@ public class texturenauswaehlen_GUI extends JFrame{
|
||||
* Speichert die Auswahl des akutellen Paketes
|
||||
*/
|
||||
private void speichern() {
|
||||
// Austauschen sobalt Spielerverwaltung fertig
|
||||
// if(spieler.getLevel() >= pakete.getLevel(comboBox.getSelectedIndex())) {
|
||||
// pakete.setAktivesPaket(comboBox.getSelectedIndex());
|
||||
// aktualisiereBild();
|
||||
//
|
||||
// }
|
||||
pakete.setAktivesPaket(comboBox.getSelectedIndex());
|
||||
aktualisiereBild();
|
||||
if(spielerverwaltung.getLevel() >= pakete.getLevel(comboBox.getSelectedIndex())) {
|
||||
pakete.setAktivesPaket(comboBox.getSelectedIndex());
|
||||
aktualisiereBild();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package de.jaujau.daten;
|
||||
package de.jaujau.karten;
|
||||
|
||||
public enum Ablageort {
|
||||
SPIELER, COMPUTER, ABLAGESTAPEL, ZIEHSTAPEL
|
@@ -1,4 +1,4 @@
|
||||
package de.jaujau.daten;
|
||||
package de.jaujau.karten;
|
||||
|
||||
public enum Farbe {
|
||||
PIK, KREUZ, HERZ, KARO
|
@@ -1,5 +1,4 @@
|
||||
package de.jaujau.daten;
|
||||
|
||||
package de.jaujau.karten;
|
||||
|
||||
/**
|
||||
* Klasse Karte
|
||||
@@ -20,7 +19,7 @@ public class Karte {
|
||||
public Karte(Farbe f, Wert w) {
|
||||
FARBE = f;
|
||||
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.Random;
|
@@ -5,7 +5,7 @@
|
||||
* @version 1.0
|
||||
|
||||
*/
|
||||
package de.jaujau.daten;
|
||||
package de.jaujau.karten;
|
||||
|
||||
public enum Spieler {
|
||||
SPIELER, COMPUTER
|
@@ -1,4 +1,4 @@
|
||||
package de.jaujau.daten;
|
||||
package de.jaujau.karten;
|
||||
|
||||
public enum Wert {
|
||||
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,13 +7,12 @@
|
||||
*/
|
||||
package de.jaujau.spiellogik;
|
||||
|
||||
import javax.swing.ImageIcon;
|
||||
|
||||
import de.jaujau.daten.Spielerverwaltung;
|
||||
import de.jaujau.daten.Texturenpakete;
|
||||
|
||||
import de.jaujau.gui.GUI;
|
||||
//import de.jaujau.gui.Menue_GUI;
|
||||
//import de.jaujau.gui.Spiel_GUI;
|
||||
import de.jaujau.spieler.Spielerverwaltung;
|
||||
import de.jaujau.texturen.Texturenpakete;
|
||||
|
||||
|
||||
public class Anwendung {
|
||||
|
||||
@@ -25,8 +24,8 @@ public class Anwendung {
|
||||
// Constructors
|
||||
//
|
||||
public Anwendung() {
|
||||
speicherung = new Spielerverwaltung();
|
||||
speicherung.dateiEinlesen();
|
||||
speicherung = new Spielerverwaltung("highscore.csv");
|
||||
speicherung.lesenDatei();
|
||||
texturenpakete = new Texturenpakete();
|
||||
view = new GUI(texturenpakete, speicherung);
|
||||
|
||||
|
@@ -5,15 +5,15 @@ package de.jaujau.spiellogik;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Random;
|
||||
|
||||
import de.jaujau.daten.Farbe;
|
||||
import de.jaujau.daten.Kartensatz;
|
||||
import de.jaujau.daten.Spieler;
|
||||
import de.jaujau.daten.Wert;
|
||||
import de.jaujau.karten.Farbe;
|
||||
import de.jaujau.karten.Kartensatz;
|
||||
import de.jaujau.karten.Spieler;
|
||||
import de.jaujau.karten.Wert;
|
||||
|
||||
|
||||
/**
|
||||
* Diese Klasse steuert den Computer Gegner
|
||||
* @author Moritz K<>ppe
|
||||
* @author Moritz K<>ppe
|
||||
*/
|
||||
public class Computer_gegner {
|
||||
|
||||
@@ -49,9 +49,9 @@ public class Computer_gegner {
|
||||
* 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
|
||||
* 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
|
||||
* 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 aussetzen?
|
||||
* @return Kartenindex der Karte die gelegt werden soll
|
||||
@@ -63,7 +63,7 @@ public class Computer_gegner {
|
||||
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
|
||||
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
|
||||
gegnerhand = kartensatz.getHand(Spieler.SPIELER);
|
||||
|
||||
@@ -75,19 +75,19 @@ public class Computer_gegner {
|
||||
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
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
//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) {
|
||||
achtInHand = true;
|
||||
}
|
||||
@@ -130,7 +130,7 @@ 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
|
||||
rueckgabeindex = wertLegen(letztekartewert);
|
||||
if (debug) {
|
||||
@@ -169,13 +169,13 @@ public class Computer_gegner {
|
||||
|
||||
}
|
||||
}
|
||||
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);
|
||||
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;
|
||||
if (debug) {
|
||||
System.out.println("COMPUTER: Fall 7");
|
||||
@@ -188,10 +188,10 @@ public class Computer_gegner {
|
||||
}
|
||||
|
||||
/**
|
||||
* 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
|
||||
* 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
|
||||
* @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) {
|
||||
int ind = -1;
|
||||
@@ -207,10 +207,10 @@ public class Computer_gegner {
|
||||
}
|
||||
|
||||
/**
|
||||
* 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
|
||||
* 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
|
||||
* @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) {
|
||||
int ind = -1;
|
||||
@@ -225,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
|
||||
* @param Kartensatz aktueller Stand des Kartensatzes
|
||||
* @return Farbe gew<65>hlte Farbe
|
||||
* @return Farbe gew<65>hlte Farbe
|
||||
*/
|
||||
public Farbe farbeAussuchen(Kartensatz karten) {
|
||||
kartensatz = karten;
|
||||
@@ -257,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
|
||||
* @return int zuf<75>llige Zahl
|
||||
* @return int zuf<75>llige Zahl
|
||||
*/
|
||||
private int zufall(int r){
|
||||
Random zufall = new Random();
|
||||
@@ -270,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
|
||||
* @param farbe, f<>r welche gez<65>hlt werden soll
|
||||
* 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
|
||||
* @return integer Wie viele Karten der Farbe auf der Hand sind
|
||||
*/
|
||||
private int farbeZahl(Farbe farbe) {
|
||||
@@ -289,7 +289,7 @@ public class Computer_gegner {
|
||||
}
|
||||
/**
|
||||
* Dies ist nur eine Testfunktion
|
||||
* @return Integer, gibt immer 1 zur<75>ck
|
||||
* @return Integer, gibt immer 1 zur<75>ck
|
||||
*/
|
||||
public int cpuTest() {
|
||||
return 1;
|
||||
|
@@ -2,22 +2,23 @@ package de.jaujau.spiellogik;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
import de.jaujau.daten.Audio;
|
||||
import de.jaujau.daten.Farbe;
|
||||
import de.jaujau.daten.Kartensatz;
|
||||
import de.jaujau.daten.Spieler;
|
||||
import de.jaujau.daten.Wert;
|
||||
import de.jaujau.audio.Audio;
|
||||
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 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
|
||||
*/
|
||||
public class Spiel {
|
||||
|
||||
|
||||
private Spieler amZug;
|
||||
private Wert gelegterWert;
|
||||
private Audio audio;
|
||||
@@ -29,15 +30,17 @@ public class Spiel {
|
||||
private int kartenZiehen;
|
||||
private Dashboard_GUI dashboard;
|
||||
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();
|
||||
kartensatz = new Kartensatz();
|
||||
computerGegner = new Computer_gegner(kartensatz);
|
||||
spielzug = new Spielzug(kartensatz);
|
||||
dashboard = dashboard_gui;
|
||||
spielGewonnen = false;
|
||||
this.spielerverwaltung = spielerverwaltung;
|
||||
}
|
||||
|
||||
public boolean getAussetzen() {
|
||||
@@ -62,7 +65,7 @@ public class 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
|
||||
*/
|
||||
public void spiel(Dashboard_GUI dashboard) {
|
||||
@@ -83,7 +86,7 @@ public class Spiel {
|
||||
}
|
||||
if(debug) System.out.println("SPIEL Kartenhand von COMPUTER: " + kartensatz.getHand(Spieler.COMPUTER));
|
||||
if(debug) System.out.println("SPIEL Kartenhand von SPIELER: " + kartensatz.getHand(Spieler.SPIELER));
|
||||
effekteSetzen(); //effekte f<>r den Start setzen
|
||||
effekteSetzen(); //effekte f<>r den Start setzen
|
||||
if(amZug == Spieler.COMPUTER) { //falls der PC startet, findet hier der erste Zug statt
|
||||
int computerZug = computerGegner.cpu_Zug(zwei_ziehen, aussetzen, kartensatz);
|
||||
if(debug) System.out.println("\nSPIEL Computerauswahl: " + computerZug);
|
||||
@@ -108,7 +111,7 @@ public class Spiel {
|
||||
|
||||
|
||||
/**
|
||||
* Organisiert den Spielablauf nach jedem g<>ltigen Zug, wechselt zwischen Spieler und Computer
|
||||
* Organisiert den Spielablauf nach jedem g<>ltigen Zug, wechselt zwischen Spieler und Computer
|
||||
* @param dashboard
|
||||
*/
|
||||
private void alternieren(Dashboard_GUI dashboard) {
|
||||
@@ -137,8 +140,8 @@ public class Spiel {
|
||||
amZug = Spieler.SPIELER;
|
||||
dashboard.aktualisiereGUI();
|
||||
if(debug) System.out.println("\nSPIEL Spieler am Zug");
|
||||
if(aussetzen) { //falls aussetzen aktiv, wird die M<>glichkeit <20>ber den Button aktiviert
|
||||
if(debug) System.out.println("\nSPIEL Aussetzen m<>glich");
|
||||
if(aussetzen) { //falls aussetzen aktiv, wird die M<>glichkeit <20>ber den Button aktiviert
|
||||
if(debug) System.out.println("\nSPIEL Aussetzen m<>glich");
|
||||
dashboard.showaussetzen(true);
|
||||
dashboard.aktualisiereGUI();
|
||||
}
|
||||
@@ -147,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
|
||||
*/
|
||||
private void gewinn(Spieler spieler) {
|
||||
if(debug) 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);
|
||||
if(spieler == Spieler.SPIELER) spielerverwaltung.erhoehePunkte(1);
|
||||
spielGewonnen = true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Bietet f<>r den Spieler die M<>glichkeit auszusetzen
|
||||
* Bietet f<>r den Spieler die M<>glichkeit auszusetzen
|
||||
*/
|
||||
public void aussetzen() {
|
||||
if(spielGewonnen) return;
|
||||
@@ -167,13 +171,13 @@ public class Spiel {
|
||||
}
|
||||
|
||||
/**
|
||||
* falls eine Karte gelegt werden kann, wird diese f<>r den Teilnehmer gelegt
|
||||
* falls eine Karte gelegt werden kann, wird diese f<>r den Teilnehmer gelegt
|
||||
* @param kartenindex
|
||||
*/
|
||||
public void karteLegen(int kartenindex) {
|
||||
if(spielGewonnen) return;
|
||||
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 - Zug kann stattfinden | sonst nichts
|
||||
if (spielzug.pruefeZug(kartenindex, zwei_ziehen, aussetzen, kartensatz)) { //gew<65>hlte Karte kann gelegt werden - Zug kann stattfinden | sonst nichts
|
||||
if(debug) System.out.println("SPIEL pruefeZug positiv");
|
||||
if(debug) System.out.println("SPIEL Lege Karte " + kartenindex);
|
||||
kartensatz.ablegen(kartenindex); //karte ablegen
|
||||
@@ -191,7 +195,7 @@ public class Spiel {
|
||||
if(kartensatz.getKarte(kartenindex).getWERT() == Wert.ACHT) { //Sonderfall: wiederholtes aussetzen Spieler
|
||||
if(amZug == Spieler.SPIELER) dashboard.showaussetzen(false);
|
||||
}
|
||||
if(kartensatz.getKarte(kartenindex).getWERT() == Wert.BUBE) { //Sonderfall: W<>nscher wurde gelegt Spieler
|
||||
if(kartensatz.getKarte(kartenindex).getWERT() == Wert.BUBE) { //Sonderfall: W<>nscher wurde gelegt Spieler
|
||||
if(amZug == Spieler.COMPUTER) alternieren(dashboard);
|
||||
}
|
||||
else {
|
||||
@@ -202,7 +206,7 @@ public class Spiel {
|
||||
|
||||
|
||||
/**
|
||||
* 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(){
|
||||
if(spielGewonnen) return;
|
||||
@@ -221,18 +225,18 @@ public class Spiel {
|
||||
}
|
||||
alternieren(dashboard);
|
||||
}
|
||||
else { //ziehen nicht m<>glich - nichts passiert
|
||||
else { //ziehen nicht m<>glich - nichts passiert
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Setzt die Wunschfarbe f<>r den Spieler
|
||||
* Setzt die Wunschfarbe f<>r den Spieler
|
||||
* @param farbe
|
||||
*/
|
||||
public void wuenscher(Farbe farbe) {
|
||||
if(debug) System.out.println("\nSPIEL W<>nsche Farbe");
|
||||
if(debug) System.out.println("\nSPIEL W<>nsche Farbe");
|
||||
kartensatz.SetWunschfarbe(farbe);
|
||||
alternieren(dashboard);
|
||||
dashboard.aktualisiereGUI();
|
||||
@@ -240,7 +244,7 @@ public class Spiel {
|
||||
|
||||
|
||||
/**
|
||||
* setzt Effekt-Variablen und Wunschfarbe f<>r einen W<>nscher vom Spieler, ruft Farbauswahl f<>r Spieler-W<>nscher auf
|
||||
* setzt Effekt-Variablen und Wunschfarbe f<>r einen W<>nscher vom Spieler, ruft Farbauswahl f<>r Spieler-W<>nscher auf
|
||||
*/
|
||||
private void effekteSetzen() {
|
||||
if(spielGewonnen) return;
|
||||
@@ -252,7 +256,7 @@ public class Spiel {
|
||||
zwei_ziehen = true;
|
||||
kartenZiehen += 2;
|
||||
}
|
||||
if(gelegterWert == Wert.BUBE) {//W<>nscher
|
||||
if(gelegterWert == Wert.BUBE) {//W<>nscher
|
||||
if(amZug == Spieler.COMPUTER) {//Wunschfarbe durch PC wird gesetzt
|
||||
kartensatz.SetWunschfarbe(computerGegner.farbeAussuchen(kartensatz));
|
||||
}
|
||||
|
@@ -1,18 +1,16 @@
|
||||
package de.jaujau.spiellogik;
|
||||
|
||||
import de.jaujau.daten.Kartensatz;
|
||||
import de.jaujau.daten.Spielerdaten;
|
||||
import de.jaujau.daten.Wert;
|
||||
import de.jaujau.karten.Farbe;
|
||||
import de.jaujau.karten.Kartensatz;
|
||||
import de.jaujau.karten.Spieler;
|
||||
import de.jaujau.karten.Wert;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import de.jaujau.daten.Farbe;
|
||||
import de.jaujau.daten.Spieler;
|
||||
|
||||
|
||||
/**
|
||||
* Diese Klasse verwaltet Funktionen, die den Spielzug pr<70>fen
|
||||
* @author Moritz K<>ppe
|
||||
* Diese Klasse verwaltet Funktionen, die den Spielzug pr<70>fen
|
||||
* @author Moritz K<>ppe
|
||||
*/
|
||||
public class Spielzug {
|
||||
|
||||
@@ -32,7 +30,7 @@ public class Spielzug {
|
||||
|
||||
/**
|
||||
* 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
|
||||
* Gilt nichts von beidem muss die Karte zur vorhergelegten passen
|
||||
* @param kartenindex Index der Karte die gelegt werden soll
|
||||
@@ -48,8 +46,8 @@ public class Spielzug {
|
||||
Wert letztekartewert = kartensatz.getKarte(kartensatz.getletzteKarte()).getWERT();
|
||||
Farbe letztekartefarbe = kartensatz.getKarte(kartensatz.getletzteKarte()).getFARBE();
|
||||
if (debug) {
|
||||
System.out.println("SPIELZUG: Versucht Karte f<>r Funktion: " + kartenindex);
|
||||
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) {
|
||||
@@ -86,7 +84,7 @@ public class Spielzug {
|
||||
}
|
||||
|
||||
/**
|
||||
* 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 boolean, muss Spieler ziehen?
|
||||
* @param boolean, muss Spieler aussetzen?
|
||||
|
@@ -1,4 +1,4 @@
|
||||
package de.jaujau.daten;
|
||||
package de.jaujau.texturen;
|
||||
|
||||
import java.awt.Image;
|
||||
import java.awt.image.BufferedImage;
|
@@ -1,4 +1,4 @@
|
||||
package de.jaujau.daten;
|
||||
package de.jaujau.texturen;
|
||||
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.IOException;
|
@@ -1,4 +1,4 @@
|
||||
package de.jaujau.daten;
|
||||
package de.jaujau.texturen;
|
||||
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.util.ArrayList;
|
Reference in New Issue
Block a user