From fe5d1abea99c4d4eb8b68276d79a79b7f54b3fcb Mon Sep 17 00:00:00 2001 From: Sebastian Kacza Date: Thu, 3 Dec 2020 09:48:44 +0100 Subject: [PATCH] Klasse Karte fertig, Klasse Kartensatz fertig --- src/de/jaujau/daten/Karte.java | 2 +- src/de/jaujau/daten/Kartensatz.java | 54 ++++++++++++++++++++++++++--- 2 files changed, 50 insertions(+), 6 deletions(-) diff --git a/src/de/jaujau/daten/Karte.java b/src/de/jaujau/daten/Karte.java index 96e1b22..1a68c2e 100644 --- a/src/de/jaujau/daten/Karte.java +++ b/src/de/jaujau/daten/Karte.java @@ -36,7 +36,7 @@ public class Karte { * @return Wert der Karte */ public Wert getWERT() { - return WERT; + return WERT; } /** diff --git a/src/de/jaujau/daten/Kartensatz.java b/src/de/jaujau/daten/Kartensatz.java index 7dc5d12..9e1973a 100644 --- a/src/de/jaujau/daten/Kartensatz.java +++ b/src/de/jaujau/daten/Kartensatz.java @@ -1,5 +1,6 @@ package de.jaujau.daten; +import java.util.ArrayList; import java.util.Random; /** @@ -130,6 +131,7 @@ public class Kartensatz { } + //Funktion geprüft /** * gibt die ID der Kartezurück die als letztes auf dem Ablagestabel gelegt wurde * @return ID der zuletzt gelegten Karte @@ -138,9 +140,35 @@ public class Kartensatz { return letztekarte; } - //Methode get Hand - //Kommt noch + + //Funktion geprüft + /** + * Gibt die Karten Indexe einer Spieler Hand zuück + * Wenn keine Karten auf der Hand liegen wird eine Leere ArrayList zurückgegeben + * @param spieler Spieler + * @return ArrayList von Integer welche die KatrenIndexe enthält, + */ + public ArrayList getHand(Spieler spieler) { + ArrayList hand = new ArrayList(); + for(int i = 0; i < 32; i++) { + //Für Spieler + if(spieler == Spieler.SPIELER) { + if(kartensatz[i].getAblageort() == Ablageort.SPIELER) { + hand.add(i); + } + } + //Für Computer + if(spieler == Spieler.COMPUTER) { + if(kartensatz[i].getAblageort() == Ablageort.COMPUTER) { + hand.add(i); + } + } + } + return hand; + } + + //Funktion geprüft /** * Gibt eine Karte aus dem Kartensatz zurück * @param kartenid ID Der Karte (0 - 31) @@ -156,12 +184,28 @@ public class Kartensatz { } - //Methode kommt noch + //Funktion geprüft + /** + * Legt die Farbe fest die als nächstes auf den Ablagestapel gelegt werden muss + * Dafür wird der "Wünscher" (Bube) der jeweiligen Farbe als letze Karte auf dem Ablegestabel eingetragen + * @param farbe Farbe die sich gewünscht wird + */ public void SetWunschfarbe(Farbe farbe) { - + if(farbe == Farbe.KARO) { + letztekarte = 4; //Karo Bube + } + else if (farbe == Farbe.HERZ) { + letztekarte = 12; //Kerz Bube + } + else if (farbe == Farbe.PIK) { + letztekarte = 20; //Pik Bube + } + else if (farbe == Farbe.KREUZ) { + letztekarte = 28; //Kreuz Bube + } } - + //Funktion geprüft /** * Dies Funktion Prüft ob sich auf dem Ziestapel noch mindestes eine Karte Befindet * Wird nur Klassenintern Verwendet