1
0
Fork 0
WIZARD_PR2_DOP22/Domain/Karten/Zahlenkarte.java

103 lines
2.2 KiB
Java
Raw Permalink Normal View History

/*
============================================================
This is the "Zahlenkarte" file from Author: Philipp Kotte
written on: 05 / 10 / 2023 at: 23:30
============================================================
*/
package Domain.Karten;
2023-10-23 14:22:39 +02:00
import Domain.Enums.Kartenfarbe;
public class Zahlenkarte extends Karte {
2023-10-23 14:22:39 +02:00
// Statische Konstanten
2023-10-24 11:38:55 +02:00
private final static String NAME = "Charakterkarte";
2023-10-23 14:22:39 +02:00
// Statische Attribute
private static int menschID = 1;
private static int elfID = 1;
private static int rieseID = 1;
private static int zwergID = 1;
// Attribute der Objekte
private int kartenwert;
private Kartenfarbe charakter;
2023-10-24 11:38:55 +02:00
private String name;
2023-10-23 14:22:39 +02:00
// Konstruktoren
public Zahlenkarte(Kartenfarbe farbe) {
super();
if (farbe == Kartenfarbe.MENSCH && menschID <=13) {
setNeueMenschKarte(farbe);
}
else if (farbe == Kartenfarbe.ELF && elfID <= 13) {
setNeueElfKarte(farbe);
}
else if (farbe == Kartenfarbe.RIESE && rieseID <= 13) {
setNeueRieseKarte(farbe);
}
else if (farbe == Kartenfarbe.ZWERG && zwergID <= 13) {
setNeueZwergKarte(farbe);
}
else {
throw new RuntimeException("Es darf von jedem Charakter nur 13 Karten im Spiel geben.");
}
}
// Statische Methoden
// Getter und Setter
public int getKartenwert() {
return kartenwert;
}
public void setKartenwert(int kartenwert) {
this.kartenwert = kartenwert;
}
public Kartenfarbe getCharakter() {
return charakter;
}
public void setCharakter(Kartenfarbe charakter) {
this.charakter = charakter;
}
2023-10-24 11:38:55 +02:00
public void setName() {
this.name = NAME;
}
2023-10-23 14:22:39 +02:00
// Overrides
2023-10-26 09:03:09 +02:00
@Override
public String toString() {
return this.name + " " + this.charakter + " " + this.kartenwert;
}
2023-10-23 14:22:39 +02:00
// Public Methoden
// Private Methoden
private void setNeueMenschKarte(Kartenfarbe farbe) {
setCharakter(farbe);
setKartenwert(menschID);
2023-10-24 11:38:55 +02:00
setName();
2023-10-23 14:22:39 +02:00
menschID++;
}
private void setNeueElfKarte(Kartenfarbe farbe) {
setCharakter(farbe);
setKartenwert(elfID);
2023-10-24 11:38:55 +02:00
setName();
2023-10-23 14:22:39 +02:00
elfID++;
}
private void setNeueRieseKarte(Kartenfarbe farbe) {
setCharakter(farbe);
setKartenwert(rieseID);
2023-10-24 11:38:55 +02:00
setName();
2023-10-23 14:22:39 +02:00
rieseID++;
}
private void setNeueZwergKarte(Kartenfarbe farbe) {
setCharakter(farbe);
setKartenwert(zwergID);
2023-10-24 11:38:55 +02:00
setName();
2023-10-23 14:22:39 +02:00
zwergID++;
}
2023-10-24 11:38:55 +02:00
}