diff --git a/.idea/modules.xml b/.idea/modules.xml index beae4e23c8e3b3ba09a6d5225e6cde44eb92f153..6c329bed375bbca2f09d1d5752ec12b3c4583414 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -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 diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 387eb97ae37bf6306a6a01e684c004ad77ada2b6..d3f410a31eb53e71650e2c8af803d1cb0e951738 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -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">{ - "keyToString": { - "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)", - "vue.rearranger.settings.migration": "true" + <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"> diff --git a/untitled4.iml b/UNO_THE_GAME.iml similarity index 100% rename from untitled4.iml rename to UNO_THE_GAME.iml diff --git a/src/Regelwerk.java b/src/Regelwerk.java index 02f6802f6184a8ad66157da70cfe26cbdd764498..b56445195bc6a1afa0490ab80ca03aed4d3d10c1 100644 --- a/src/Regelwerk.java +++ b/src/Regelwerk.java @@ -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; } } diff --git a/src/SpielerHand.java b/src/SpielerHand.java index 574eea8fba954462a9ce4411f5fb83dc3d7396a3..fae31a8148a5d2452cb62b29ea86cb104a3a4b0f 100644 --- a/src/SpielerHand.java +++ b/src/SpielerHand.java @@ -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 } } } + diff --git a/src/UNO.java b/src/UNO.java index 1e4a9333a2685d4eb2e206a90d4d139ae90bba40..74ed1011028ea15271773fe4e23848b729e3042e 100644 --- a/src/UNO.java +++ b/src/UNO.java @@ -1,21 +1,23 @@ 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; diff --git a/src/UnoDeck.java b/src/UnoDeck.java index e0eedebb63e9110593a392142abfbdc6e0bad5c3..2e59f87a6b50df4bb03355a4bb61a89c047c6cb3 100644 --- a/src/UnoDeck.java +++ b/src/UnoDeck.java @@ -82,3 +82,4 @@ public class UnoDeck { //Diese Methode verbindet die Farben und die Zahlen der jeweiligen enums } } + diff --git a/src/UnoKarte.java b/src/UnoKarte.java index 089c0c254934e698ca39413b39c40c717e3e3daa..bcee8a4fd6347c592843e3a6aa50c27e66f7f833 100644 --- a/src/UnoKarte.java +++ b/src/UnoKarte.java @@ -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 +}