Compare commits

...

2 Commits

8 changed files with 108 additions and 61 deletions

View File

@ -22,11 +22,11 @@ public abstract class Karte {
} }
} }
// Statische Methoden // Statische Methoden
public static int getId_card() {
// Getter und Setter
public int getId_card() {
return id_card; return id_card;
} }
// Getter und Setter
// @Overrides // @Overrides

View File

@ -9,34 +9,34 @@ package Domain.Karten;
public class Magierkarte extends Karte { public class Magierkarte extends Karte {
// Statische Konstanten // Statische Konstanten
private static String TRUMPF_NAME = "Zauberer"; private static String KARTENNAME = "Zauberer";
// Statische Attribute // Statische Attribute
// Attribute des Objekts // Attribute des Objekts
private String bezeichnung; private String name;
// Konstruktoren // Konstruktoren
public Magierkarte() { public Magierkarte() {
super(); super();
setBezeichnung(TRUMPF_NAME); setName(KARTENNAME);
} }
// Statische Methoden // Statische Methoden
// Getter und Setter // Getter und Setter
public void setBezeichnung(String bezeichnung) { public void setName(String name) {
this.bezeichnung = bezeichnung; this.name = name;
} }
public String getBezeichnung() { public String getName() {
return this.bezeichnung; return this.name;
} }
// @Overrides // @Overrides
@Override @Override
public String toString() { public String toString() {
return this.getBezeichnung(); return this.getName();
} }
// Public Methoden // Public Methoden

View File

@ -9,34 +9,34 @@ package Domain.Karten;
public class Narrenkarte extends Karte { public class Narrenkarte extends Karte {
// Statische Konstanten // Statische Konstanten
private static String TRUMPF_NAME = "Narr"; private static String KARTENNAME = "Narr";
// Statische Attribute // Statische Attribute
// Attribute des Objekts // Attribute des Objekts
private String bezeichnung; private String name;
// Konstruktoren // Konstruktoren
public Narrenkarte() { public Narrenkarte() {
super(); super();
setBezeichnung(TRUMPF_NAME); setName(KARTENNAME);
} }
// Statische Methoden // Statische Methoden
// Getter und Setter // Getter und Setter
public void setBezeichnung(String bezeichnung) { public void setName(String name) {
this.bezeichnung = bezeichnung; this.name = name;
} }
public String getBezeichnung() { public String getName() {
return this.bezeichnung; return this.name;
} }
// @Overrides // @Overrides
@Override @Override
public String toString() { public String toString() {
return this.getBezeichnung(); return this.getName();
} }
// Public Methoden // Public Methoden

View File

@ -13,7 +13,7 @@ public class Zahlenkarte extends Karte {
/*------------------------------------------*/ /*------------------------------------------*/
// statische Konstanten // statische Konstanten
/*------------------------------------------*/ /*------------------------------------------*/
private final static String KARTENNAME = "Charakterkarte";
/*------------------------------------------*/ /*------------------------------------------*/
// statische Attribute(zB. zähler) // statische Attribute(zB. zähler)
/*------------------------------------------*/ /*------------------------------------------*/
@ -23,6 +23,7 @@ public class Zahlenkarte extends Karte {
/*------------------------------------------*/ /*------------------------------------------*/
private Kartenfarbe kartenfarbe; private Kartenfarbe kartenfarbe;
private int kartenNummer; private int kartenNummer;
private String name;
/*------------------------------------------*/ /*------------------------------------------*/
// Konstruktoren (default und spezifische) // Konstruktoren (default und spezifische)
@ -35,6 +36,7 @@ public class Zahlenkarte extends Karte {
super(); super();
setKartenfarbe(kartenfarbe); setKartenfarbe(kartenfarbe);
setKartenNummer(kartenNummer); setKartenNummer(kartenNummer);
setName(KARTENNAME);
} }
/*------------------------------------------*/ /*------------------------------------------*/
@ -59,6 +61,12 @@ public class Zahlenkarte extends Karte {
public int getKartenNummer() { public int getKartenNummer() {
return kartenNummer; return kartenNummer;
} }
public void setName(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
/*------------------------------------------*/ /*------------------------------------------*/
// @Overrides // @Overrides

View File

@ -6,7 +6,14 @@ written on: 05 / 10 / 2023 at: 23:42
*/ */
package Domain; package Domain;
import Domain.Karten.*; import java.util.Collection;
import java.util.HashMap;
import Domain.Enums.Kartenfarbe;
import Domain.Karten.Karte;
import Domain.Karten.Magierkarte;
import Domain.Karten.Narrenkarte;
import Domain.Karten.Zahlenkarte;
public class Kartenstapel { public class Kartenstapel {
@ -17,21 +24,51 @@ public class Kartenstapel {
/*------------------------------------------*/ /*------------------------------------------*/
// statische Attribute(zB. zähler) // statische Attribute(zB. zähler)
/*------------------------------------------*/ /*------------------------------------------*/
private static int kartenzähler = 1;
/*------------------------------------------*/ /*------------------------------------------*/
// Attribute jedes Objektes // Attribute jedes Objektes
/*------------------------------------------*/ /*------------------------------------------*/
/**
private Karte[] kartenStapel = new Karte[60]; * Die beiden HashMaps repräsentieren das Kartendeck einmal
* sortiert und gemischt
*/
private HashMap<Integer, Karte> kartensortiert = new HashMap<>();
private HashMap<Integer, Karte> kartengemischt = new HashMap<>();
/*------------------------------------------*/ /*------------------------------------------*/
// Konstruktoren (default und spezifische) // Konstruktoren (default und spezifische)
/*------------------------------------------*/ /*------------------------------------------*/
// Der Konstruktor PRIVATE? Weil darf nur von Spiel aufgerufen werden?
/**
* Bei jedem Aufruf des Konstruktors wird die HashMap gelöscht und
* sortiert neu befüllt.
* Die tatsächliche Reihenfolge spielt keine Rolle, da die Karten selbst
* NUR über den KEY identifiziert werden.
*/
public Kartenstapel() { public Kartenstapel() {
kartensortiert.clear();
// Erstelle Magierkarten
for (int i = 1; i <= 4; i++) {
kartensortiert.put(i, new Magierkarte());
}
for (int i = 5; i <= 8; i++) {
kartensortiert.put(i, new Narrenkarte());
}
for (int i = 9; i <= 21; i++) {
kartensortiert.put(i, new Zahlenkarte(Kartenfarbe.MENSCH, i));
}
for (int i = 22; i <= 34; i++) {
kartensortiert.put(i, new Zahlenkarte(Kartenfarbe.ELF, i));
}
for (int i = 35; i <= 47; i++) {
kartensortiert.put(i, new Zahlenkarte(Kartenfarbe.RIESE, i));
}
for (int i = 48; i <= 60; i++) {
kartensortiert.put(i, new Zahlenkarte(Kartenfarbe.ZWERG, i));
}
} }
/*------------------------------------------*/ /*------------------------------------------*/
// statische Methoden // statische Methoden
/*------------------------------------------*/ /*------------------------------------------*/
@ -40,24 +77,6 @@ public class Kartenstapel {
// Getter und Setter // Getter und Setter
/*------------------------------------------*/ /*------------------------------------------*/
/**
* Ausgabe des ersten Elements des Stapels.
*
* @return erstes Element
*/
public Karte getObersteKarte() {
return kartenStapel[0];
}
/**
* Ausgabe der Stapelgroesse.
*
* @return laenge des Kartenstapels-Arrays
*/
public int getAnzahlKarten() {
return kartenStapel.length;
}
/*------------------------------------------*/ /*------------------------------------------*/
// @Overrides // @Overrides
/*------------------------------------------*/ /*------------------------------------------*/
@ -66,6 +85,26 @@ public class Kartenstapel {
// öffentliche Methoden // öffentliche Methoden
/*------------------------------------------*/ /*------------------------------------------*/
/**
* Die BEIDEN Collections dienen zu TESTZWECKEN
*/
public Collection<Karte> getKartensortiert() {
return kartensortiert.values();
}
public Collection<Karte> getKartengemischt() {
return kartengemischt.values();
}
/**
* Methode: mischen()
* Eine ArrayList mit 60 Nummern wird erzeugt.
* Eine for-Schleife zieht jeweils eine Nummer.
* Diese wird aus 'kartensortiert' gezogen und
* in 'kartengemischt' einsortiert.
* Danach wird die Nummer aus der ArrayList gelöscht
* und es wird erneut eine Nummer aus den verblieben Zahlen
* gezogen.
*/
public void mischen() { public void mischen() {
} }

View File

@ -35,7 +35,7 @@ public class Spieler implements Serializable {
/** /**
* Default Konstruktor des Spieler - Klasse * Default Konstruktor des Spieler - Klasse
*/ */
public Spieler() { Spieler() {
} }
@ -46,7 +46,7 @@ public class Spieler implements Serializable {
* @param name String * @param name String
* @param geschlecht Geschlecht * @param geschlecht Geschlecht
*/ */
public Spieler(int id, String name, Geschlecht geschlecht) { Spieler(int id, String name, Geschlecht geschlecht) {
this(); this();
if (id < 6) { if (id < 6) {
setId(id); setId(id);
@ -75,7 +75,7 @@ public class Spieler implements Serializable {
* @param geschlecht Geschlecht * @param geschlecht Geschlecht
* @param vorhersage int * @param vorhersage int
*/ */
public Spieler(int id, String name, Geschlecht geschlecht, int vorhersage) { Spieler(int id, String name, Geschlecht geschlecht, int vorhersage) {
this(id, name, geschlecht); this(id, name, geschlecht);
setVorhersage(vorhersage); setVorhersage(vorhersage);
} }

View File

@ -29,14 +29,14 @@ public class MagierkarteTest {
Magierkarte m4 = new Magierkarte(); Magierkarte m4 = new Magierkarte();
assertEquals("Zauberer", m1.getBezeichnung()); assertEquals("Zauberer", m1.getName());
assertEquals("Zauberer", m2.getBezeichnung()); assertEquals("Zauberer", m2.getName());
assertEquals("Zauberer", m3.getBezeichnung()); assertEquals("Zauberer", m3.getName());
assertEquals("Zauberer", m4.getBezeichnung()); assertEquals("Zauberer", m4.getName());
assertEquals("Zauberer: MENSCH (BLAU).", m1.toString()); assertEquals("Zauberer: MENSCH (BLAU).", m1.toString());

View File

@ -20,10 +20,10 @@ public class NarrenkarteTest {
Narrenkarte n3 = new Narrenkarte(); Narrenkarte n3 = new Narrenkarte();
Narrenkarte n4 = new Narrenkarte(); Narrenkarte n4 = new Narrenkarte();
assertEquals(n1.getBezeichnung(), "Narr"); assertEquals(n1.getName(), "Narr");
assertEquals(n2.getBezeichnung(), "Narr"); assertEquals(n2.getName(), "Narr");
assertEquals(n3.getBezeichnung(), "Narr"); assertEquals(n3.getName(), "Narr");
assertEquals(n4.getBezeichnung(), "Narr"); assertEquals(n4.getName(), "Narr");
} }
} }