Skip to content
Snippets Groups Projects
Commit 06f34f96 authored by bluml's avatar bluml
Browse files

UNO

parent 383e8956
No related branches found
No related tags found
No related merge requests found
......@@ -2,7 +2,7 @@
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/untitled4.iml" filepath="$PROJECT_DIR$/untitled4.iml" />
<module fileurl="file://$PROJECT_DIR$/UNO_THE_GAME.iml" filepath="$PROJECT_DIR$/UNO_THE_GAME.iml" />
</modules>
</component>
</project>
\ No newline at end of file
......@@ -5,12 +5,14 @@
</component>
<component name="ChangeListManager">
<list default="true" id="8ee76397-4d4b-4c15-b3e9-7f1b49a6172e" name="Changes" comment="UNO">
<change beforePath="$PROJECT_DIR$/.idea/modules.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/modules.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Regelwerk.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Regelwerk.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/SpielerHand.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SpielerHand.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/UNO.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/UNO.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/UnoDeck.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/UnoDeck.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/UnoKarte.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/UnoKarte.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/untitled4.iml" beforeDir="false" afterPath="$PROJECT_DIR$/UNO_THE_GAME.iml" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
......@@ -20,6 +22,9 @@
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component>
<component name="HighlightingSettingsPerFile">
<setting file="file://$PROJECT_DIR$/src/UNO.java" root0="FORCE_HIGHLIGHTING" />
</component>
<component name="MarkdownSettingsMigration">
<option name="stateVersion" value="1" />
</component>
......@@ -29,19 +34,27 @@
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent">{
&quot;keyToString&quot;: {
&quot;RunOnceActivity.OpenProjectViewOnStart&quot;: &quot;true&quot;,
&quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
&quot;WebServerToolWindowFactoryState&quot;: &quot;false&quot;,
&quot;last_opened_file_path&quot;: &quot;C:/Users/bluml/IdeaProjects/untitled4/src&quot;,
&quot;node.js.detected.package.eslint&quot;: &quot;true&quot;,
&quot;node.js.detected.package.tslint&quot;: &quot;true&quot;,
&quot;node.js.selected.package.eslint&quot;: &quot;(autodetect)&quot;,
&quot;node.js.selected.package.tslint&quot;: &quot;(autodetect)&quot;,
&quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;
<component name="PropertiesComponent"><![CDATA[{
"keyToString": {
"Downloaded.Files.Path.Enabled": "false",
"Repository.Attach.Annotations": "false",
"Repository.Attach.JavaDocs": "false",
"Repository.Attach.Sources": "false",
"RunOnceActivity.OpenProjectViewOnStart": "true",
"RunOnceActivity.ShowReadmeOnStart": "true",
"WebServerToolWindowFactoryState": "false",
"last_opened_file_path": "C:/Users/bluml/IdeaProjects/untitled4/src",
"node.js.detected.package.eslint": "true",
"node.js.detected.package.tslint": "true",
"node.js.selected.package.eslint": "(autodetect)",
"node.js.selected.package.tslint": "(autodetect)",
"project.structure.last.edited": "Project",
"project.structure.proportion": "0.15",
"project.structure.side.proportion": "0.2",
"settings.editor.selected.configurable": "preferences.lookFeel",
"vue.rearranger.settings.migration": "true"
}
}</component>
}]]></component>
<component name="RecentsManager">
<key name="CopyFile.RECENT_KEYS">
<recent name="C:\Users\bluml\IdeaProjects\untitled4\src" />
......@@ -53,7 +66,7 @@
<component name="RunManager">
<configuration name="UNO" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
<option name="MAIN_CLASS_NAME" value="UNO" />
<module name="untitled4" />
<module name="UNO_THE_GAME" />
<method v="2">
<option name="Make" enabled="true" />
</method>
......@@ -73,7 +86,11 @@
<option name="presentableId" value="Default" />
<updated>1682062534174</updated>
<workItem from="1682062535374" duration="7279000" />
<workItem from="1682084928918" duration="2023000" />
<workItem from="1682084928918" duration="3701000" />
<workItem from="1682341500035" duration="3084000" />
<workItem from="1682345612030" duration="611000" />
<workItem from="1682351791026" duration="658000" />
<workItem from="1682352510671" duration="10641000" />
</task>
<task id="LOCAL-00001" summary="UNO">
<created>1682074031978</created>
......@@ -82,7 +99,21 @@
<option name="project" value="LOCAL" />
<updated>1682074031978</updated>
</task>
<option name="localTasksCounter" value="2" />
<task id="LOCAL-00002" summary="UNO">
<created>1682109374507</created>
<option name="number" value="00002" />
<option name="presentableId" value="LOCAL-00002" />
<option name="project" value="LOCAL" />
<updated>1682109374507</updated>
</task>
<task id="LOCAL-00003" summary="UNO">
<created>1682275599885</created>
<option name="number" value="00003" />
<option name="presentableId" value="LOCAL-00003" />
<option name="project" value="LOCAL" />
<updated>1682275599885</updated>
</task>
<option name="localTasksCounter" value="4" />
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
......
File moved
......@@ -8,9 +8,9 @@ public class Regelwerk {
public ArrayList<Integer> reihenfolge;
public ArrayList<Farbe> color;
public void reihenfolgeFestlegen() {
public void reihenfolgeFestlegen() { // spieler index in Array gespeichert
reihenfolge = new ArrayList<Integer>();
reihenfolge.add(0, 0);
reihenfolge.add(0, 0); // index , value
reihenfolge.add(1, 1);
reihenfolge.add(2, 2);
reihenfolge.add(3, 3);
......@@ -18,24 +18,24 @@ public class Regelwerk {
public UnoKarte ersteKarte(UnoDeck hand, int zug, int anzahl) {
if (zug == 1) {
Random rand = new Random();
int n = rand.nextInt(anzahl);
UnoKarte aktuellekarte = hand.get(n);
Random rand = new Random(); // random zahl wird generriert
int n = rand.nextInt(anzahl); // random zahl von 0 bis DeckSize wird in n gespeichert
UnoKarte aktuellekarte = hand.get(n); // n wird in aktuelle karte gespeichert
System.out.println("Die Aktuelle Karte:");
System.out.println(aktuellekarte);
System.out.println(aktuellekarte); // ausgabe
return aktuellekarte;
}
return hand.get(1);
}
public void aktuelleKarte(UnoKarte letzteKarte) {
System.out.println("Die Aktuelle Karte:");
System.out.println(letzteKarte);
System.out.println(letzteKarte); // ausgabe aktuelle karte
}
public int reihenfolge() {
int aktuell = reihenfolge.get(0);
reihenfolge.remove(0);
reihenfolge.add(aktuell);
int aktuell = reihenfolge.get(0); // erster spieler wird gespeichert
reihenfolge.remove(0); //erster spieler wird geklöscht
reihenfolge.add(aktuell); // erster spieler wird am ende des arrays eingefügt
return aktuell;
}
public void wunschFestlegen(){
......@@ -44,21 +44,21 @@ public class Regelwerk {
}
public boolean karteLegbar(UnoKarte aktuellekarte, UnoKarte neueKarte, String PlayerName[], UnoDeck deck, SpielerHand spielerHand) {
if (color.size() == 2) {
if (color.size() == 2) {// wird erst bei einem kartenWunsch genutzt
System.out.println("Wunchfarbe: " + color.get(1));
if ((color.get(1) == neueKarte.getFarbe()) || (color.get(0) == neueKarte.getFarbe())) {
color.remove(1);
if ((color.get(1) == neueKarte.getFarbe()) || (color.get(0) == neueKarte.getFarbe())) { // bedingung wunschfarbe selbe wie aktuelle Karten farbe oder bedingung ist wild auf wild
color.remove(1); // karte wird gelegt
return Lege(aktuellekarte, neueKarte, PlayerName, deck, spielerHand);
}else {
return false;
}
} else {
} else { // wird aufgerufen wenn keine wunschfarbe existiert
return Lege(aktuellekarte, neueKarte, PlayerName, deck, spielerHand);
}
}
public boolean Lege(UnoKarte aktuellekarte, UnoKarte neueKarte,String PlayerName[], UnoDeck deck, SpielerHand spielerHand){
if ((aktuellekarte.getFarbe() == neueKarte.getFarbe()) || (Farbe.Wild == neueKarte.getFarbe()) || ((aktuellekarte.getFarbe() == Farbe.Wild) && (Farbe.Wild != neueKarte.getFarbe()))) {
if ((aktuellekarte.getFarbe() == neueKarte.getFarbe()) || (Farbe.Wild == neueKarte.getFarbe()) || ((aktuellekarte.getFarbe() == Farbe.Wild) && (Farbe.Wild != neueKarte.getFarbe()))) {// Farb kontrolle -> Bedingungen ob legbar oder nicht
if (neueKarte.getWert() == Wert.Zwei_Ziehen) {
Ziehen(PlayerName, deck, 2, spielerHand);
} else if (neueKarte.getWert() == Wert.Aussetzen) {
......@@ -72,7 +72,7 @@ public class Regelwerk {
Ziehen(PlayerName, deck, 4, spielerHand);
}
return true;
} else if ((aktuellekarte.getWert() == neueKarte.getWert()) || (Farbe.Wild == neueKarte.getFarbe()) || ((aktuellekarte.getFarbe() == Farbe.Wild) && (Farbe.Wild != neueKarte.getFarbe()))) {
} else if ((aktuellekarte.getWert() == neueKarte.getWert()) || (Farbe.Wild == neueKarte.getFarbe()) || ((aktuellekarte.getFarbe() == Farbe.Wild) && (Farbe.Wild != neueKarte.getFarbe()))) {// Wert kontrolle -> (zB gruene vier geht auft blaue vier)
if (neueKarte.getWert() == Wert.Zwei_Ziehen) {
Ziehen(PlayerName, deck, 2, spielerHand);
} else if (neueKarte.getWert() == Wert.Aussetzen) {
......@@ -94,40 +94,40 @@ public class Regelwerk {
spielerHand.befuelleSpieleHand(spieler, deck, anzahl);
}
public void aussetzen(){
int aktuell = reihenfolge.get(0);
reihenfolge.remove(0);
reihenfolge.add(aktuell);
int aktuell = reihenfolge.get(0);// spieler wird in aktuell gespeichert
reihenfolge.remove(0);// nächster spieler wird gelöscht
reihenfolge.add(aktuell);// wird am ende des arrays hinzugefügt
}
public void richtungaendern(){
int [] richtungswechsel = new int[4];
int [] richtungswechsel = new int[4];// neuer array richtungswechsel
for(int i = 0; i < reihenfolge.size(); i++){
richtungswechsel[i] = reihenfolge.get(i);
richtungswechsel[i] = reihenfolge.get(i);// kopiervorgang der spieler zu richtungswechsel
}
int size = reihenfolge.size();
for (int i = 0; i < size; i++) {
reihenfolge.remove(0);
reihenfolge.remove(0);// löscht die einträge vom altem array
}
for(int i = 3; i >= 0; i--){
reihenfolge.add(richtungswechsel[i]);
reihenfolge.add(richtungswechsel[i]);// werte werden umgekehrt in den alten array wieder eingefügt
}
int zwischen = reihenfolge.get(0);
reihenfolge.remove(0);
reihenfolge.add(zwischen);
int zwischen = reihenfolge.get(0); // erster spieler wird in zwischen gespeichert
reihenfolge.remove(0);// erster spieler wird gelöscht
reihenfolge.add(zwischen);// erster spieler wird im array neu eingefügtr aber hinten
}
public void wunschFarbe(){
System.out.println("Welche Farbe möchteswt du?(Gruen, Blau, Gelb, Rot)");
switch (scanner.nextLine().toLowerCase()){
case "gruen":
color.add(Farbe.Gruen);
color.add(Farbe.Gruen);// fügt in den array eine gruene Karte hinzu so kann als nächstes nur gruen gelegt werden
break;
case "blau":
color.add(Farbe.Blau);
color.add(Farbe.Blau);// "
break;
case "gelb":
color.add(Farbe.Gelb);
color.add(Farbe.Gelb);// "
break;
case "rot":
color.add(Farbe.Rot);
color.add(Farbe.Rot);// "
break;
}
}
......
......@@ -5,54 +5,55 @@ public class SpielerHand{
private String[] spielerNamen;
public ArrayList<ArrayList<UnoKarte>> spielerHaende;
public SpielerHand(String spieler1, String spieler2, String spieler3, String spieler4) {
spielerNamen = new String[] {spieler1, spieler2, spieler3, spieler4};
spielerHaende = new ArrayList<ArrayList<UnoKarte>>();
public SpielerHand(String spieler1, String spieler2, String spieler3, String spieler4) { //1
spielerNamen = new String[] {spieler1, spieler2, spieler3, spieler4}; // in spielerNamen werden alle spielernamen die übergeben worden gespeichert
spielerHaende = new ArrayList<ArrayList<UnoKarte>>(); // erstellen vom 2 dimesionalem array
for (int i = 0; i < 4; i++) {
spielerHaende.add(new ArrayList<UnoKarte>());
spielerHaende.add(new ArrayList<UnoKarte>()); //in dem einen array 4 weitere arrays erstellen
//Diese Methode erstellt zu jedem Spieler eine ArrayListe
}
}
public void fuegeKarteHinzu(int spielerIndex, UnoDeck deck, int kartenIndex) {
UnoKarte karte = deck.get(kartenIndex);
spielerHaende.get(spielerIndex).add(karte);
deck.hand.remove(kartenIndex);
public void fuegeKarteHinzu(int spielerIndex, UnoDeck deck, int kartenIndex) {//3
UnoKarte karte = deck.get(kartenIndex); // karte wird erstellt mit der random n als kartenIndex
spielerHaende.get(spielerIndex).add(karte); //spielerhand wird karte hinzugefügt
deck.hand.remove(kartenIndex);//karte wird aus dem deck entfernt
//Diese Fuktion fügt karten in die Hand des jeweiligen spielers
}
public void entferneKarteHand(int spielerIndex, int kartenIdex, UnoDeck deck, int zug){
public void entferneKarteHand(int spielerIndex, int kartenIdex, UnoDeck deck, int zug){//5
Regelwerk regel = new Regelwerk();
kartenIdex = kartenIdex-1;
regel.aktuelleKarte(spielerHaende.get(spielerIndex).get(kartenIdex));
deck.hand.add(spielerHaende.get(spielerIndex).get(kartenIdex));
spielerHaende.get(spielerIndex).remove(kartenIdex);
kartenIdex = kartenIdex-1; // Abfrage auf der konsole ist von 1-7 aber im array ist es von 0-6 deswegen -1
regel.aktuelleKarte(spielerHaende.get(spielerIndex).get(kartenIdex)); // aktuelle karte wird ausgegeben
deck.hand.add(spielerHaende.get(spielerIndex).get(kartenIdex));//karte wird dem deck hinzugefügt
spielerHaende.get(spielerIndex).remove(kartenIdex); //karte wird aus der hand des spielers entfernt
//Diese Methode entfernt eine Karte aus der Hand des Spielers
}
public void zeigeHaende(int indexSpieler) {
public void zeigeHaende(int indexSpieler) {//4
System.out.println(spielerNamen[indexSpieler] + ":");
int j = 1;
int j = 1;// Index der Karten auf der hand
for (UnoKarte karte : spielerHaende.get(indexSpieler)) {
System.out.print("Index: " + j +"\t");
System.out.println(karte);
j++;
System.out.println(karte);//Karte wird ausgegeben
j++;//zahl wird erhöht für die nächste Karte
}
System.out.println();
//Diese Methode zeigt die Hand des Spielers
}
public void befuelleSpieleHand(int spielerIndex, UnoDeck deck, int anzahl){
Random rand = new Random();
public void befuelleSpieleHand(int spielerIndex, UnoDeck deck, int anzahl){//2
Random rand = new Random(); // random zahl wird in rand gespeichert
for (int i = 0; i < anzahl; i++) {
int n = rand.nextInt(deck.hand.size());
fuegeKarteHinzu(spielerIndex, deck, n);
int n = rand.nextInt(deck.hand.size()); // random zahl von 0 bis DeckSize
fuegeKarteHinzu(spielerIndex, deck, n); // methode wird aufgerufen
}
//Diese Methode gibt die Anzhal der Karten die der Spieler bekommen soll und wählt die zufähligge karte aus
}
public void ranking(){
public void ranking(){//6
for (int i = 0; i < spielerHaende.size(); i++){
System.out.println(spielerNamen[i] + " Menge an Karten: " +spielerHaende.get(i).size());
System.out.println(spielerNamen[i] + " Menge an Karten: " +spielerHaende.get(i).size());// spieler werden azsgegeben und die menge an karten in der jeweiligen hand aber nicht sortiert
}
}
}
import java.util.Scanner;
public class UNO {
public static void main(String[] args) {
//Die benötigten Klassen werden aufgerufen
UnoDeck deck = new UnoDeck();
Regelwerk regel = new Regelwerk();
Scanner scanner = new Scanner(System.in);
// Sobald start geschrieben wurde, wird das ganze spiel erstellt
System.out.println("Zum Starten, Start schreiben");
String start = scanner.nextLine();
if ("start".equals(start.toLowerCase())) {
deck.befuellen();
deck.mischeHand();
deck.befuellen(); //Befüllt das deck
deck.mischeHand(); //mischehand mischt das Deck
regel.reihenfolgeFestlegen();
regel.wunschFestlegen();
//Spiler Namen Abfrage und Anzahl der Spieler
regel.wunschFestlegen(); //
//Spieler Namen Abfrage und Anzahl der Spieler
System.out.println("Kurze Information: mind. 2 Player max. 4 Player");
System.out.println("Enter Player Names:");
int index;
......@@ -23,6 +25,7 @@ public class UNO {
String Antwort;
String PlayerNameInput;
String PlayerName[] = {"Joy Bot", "Note Bot", "Quick Bot", "CyBot"};
//Spielernamen werden befüllt
for (index = 0; index < 4; ) {
PlayerAnzahl++;
PlayerNameInput = scanner.nextLine();
......@@ -39,6 +42,7 @@ public class UNO {
}
}
//Die Klasse Spielerhand wird aufgerufen und die PlayerName Paramentern werden übergeben
SpielerHand spielerHand = new SpielerHand(PlayerName[0], PlayerName[1], PlayerName[2], PlayerName[3]);
spielerHand.befuelleSpieleHand(0,deck,7);
spielerHand.befuelleSpieleHand(1,deck,7);
......@@ -53,8 +57,9 @@ public class UNO {
int zug = 1;
UnoKarte aktuelleKarte = regel.ersteKarte(deck,zug,deck.hand.size());
int legeKarte;
boolean geht = false; //Das boolean hilft bei der kontrolle ob die Karte legbar ist!!!!
boolean geht = false; //Das boolean hilft bei der kontrolle, ob die Karte legbar ist!!!!
while (!win) {
//Zug wird gestartet, sobald start geschrieben wird
System.out.println("Zum Zug Starten, Start schreiben");
if("start" .equals(scanner.nextLine().toLowerCase())) {
System.out.println("Die Aktuelle Karte: \n" + aktuelleKarte);
......@@ -62,66 +67,80 @@ public class UNO {
int spieler = regel.reihenfolge();
spielerHand.zeigeHaende(spieler);
System.out.println("legen oder ziehen");
//Karte Legen
if ("legen".equals(scanner.nextLine().toLowerCase())) {
System.out.println("Welche Karte?(Index)");
legeKarte = Integer.parseInt(scanner.nextLine());
UnoKarte neueKarte = spielerHand.spielerHaende.get(spieler).get(legeKarte-1);
geht = true;
//Wenn Karte legbar, wird Karte gelegt
if (geht == regel.karteLegbar(aktuelleKarte, neueKarte,PlayerName, deck, spielerHand)) {
spielerHand.entferneKarteHand(spieler, legeKarte, deck, zug);
System.out.println("karte wurde gelegt");
aktuelleKarte =neueKarte;
geht = false;
//Karte kann nicht gelegt werden
}else {
while(geht == true) {
System.out.println("Die Aktuelle Karte: \n" + aktuelleKarte);
System.out.println("karte wurde nicht gelegt");
System.out.println("Weiterhin legen?(ja/nein)");
//Karte legen wenn ja geschrieben wird
if ("ja".equals(scanner.nextLine().toLowerCase())) {
System.out.println("Welche Karte?(Index)");
legeKarte = Integer.parseInt(scanner.nextLine());
neueKarte = spielerHand.spielerHaende.get(spieler).get(legeKarte-1);
//Wenn Karte legbar, wird Karte gelegt
if (geht == regel.karteLegbar(aktuelleKarte, neueKarte,PlayerName,deck, spielerHand)) {
spielerHand.entferneKarteHand(spieler, legeKarte, deck, zug);
aktuelleKarte =neueKarte;
aktuelleKarte = neueKarte;
System.out.println("karte wurde gelegt");
geht = false;
}
}else {
// Karte ziehen wenn ja nicht geschrieben wird
} else {
spielerHand.befuelleSpieleHand(spieler, deck, 1);
System.out.println("Karte wurde gezogen");
geht = false;
}
}
}
//Karte Ziehen
} else {
spielerHand.befuelleSpieleHand(spieler, deck, 1);
int size = spielerHand.spielerHaende.get(spieler).size();
System.out.println("Die Aktuelle Karte: \n" + aktuelleKarte);
System.out.println("Gezogene Karte: " + spielerHand.spielerHaende.get(spieler).get(size - 1));
System.out.println("legen oder behalten?");
//Gezogene Karte legen
if ("legen".equals(scanner.nextLine().toLowerCase())) {
UnoKarte neueKarte = spielerHand.spielerHaende.get(spieler).get(size - 1);
System.out.println(neueKarte);
geht = true;
//Karte ist legbar
if (geht == regel.karteLegbar(aktuelleKarte, neueKarte,PlayerName, deck, spielerHand)) {
spielerHand.entferneKarteHand(spieler, size, deck, zug);
System.out.println("karte wurde gelegt");
aktuelleKarte =neueKarte;
geht = false;
//Karte ist nicht legbar
}else {
System.out.println("Karte wurde nicht gelegt");
}
}
}
//Wenn nur eine Karte vorhanden -> UNO
if(spielerHand.spielerHaende.get(spieler).size() == 1){
System.out.println("Möchtest du Uno sagen?");
//Wenn uno eingegeben wird -> weitermachen
if("uno" .equals(scanner.nextLine().toLowerCase())){
continue;
// Falls nicht -> 1 ziehen
}else {
spielerHand.befuelleSpieleHand(spieler, deck, 1);
}
}
//Spieler gewinnt wenn 0 Karten in der Hand ist und Spieler werden nach den Anzahl der Karten gewertet
if(spielerHand.spielerHaende.get(spieler).size() == 0){
spielerHand.ranking();
win = true;
......
......@@ -82,3 +82,4 @@ public class UnoDeck {
//Diese Methode verbindet die Farben und die Zahlen der jeweiligen enums
}
}
......@@ -29,4 +29,4 @@ enum Farbe {
enum Wert {
Null, Eins, Zwei, Drei, Vier, Fuenf, Sechs, Sieben, Acht, Neun, Aussetzen, Richtungswechsel, Zwei_Ziehen, Multicolor, Draw_Four
//Das sind die eigenschaften der jeweiligen Karten
}
\ No newline at end of file
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment