Änderungen Variablennamen und Kartenstapel

kts.desktop
Kai Sellmann 2023-10-26 09:07:00 +02:00
parent 4eecaf2a0b
commit 909fd7c2ca
7 changed files with 105 additions and 58 deletions

View File

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

View File

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

View File

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

View File

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

View File

@ -6,32 +6,69 @@ written on: 05 / 10 / 2023 at: 23:42
*/
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 {
/*------------------------------------------*/
// statische Konstanten
/*------------------------------------------*/
/*------------------------------------------*/
// statische Attribute(zB. zähler)
/*------------------------------------------*/
private static int kartenzähler = 1;
/*------------------------------------------*/
// 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)
/*------------------------------------------*/
// 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() {
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
/*------------------------------------------*/
@ -39,35 +76,37 @@ public class Kartenstapel {
/*------------------------------------------*/
// 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
/*------------------------------------------*/
/*------------------------------------------*/
// ö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() {
}
/*------------------------------------------*/

View File

@ -29,14 +29,14 @@ public class MagierkarteTest {
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());

View File

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