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

90 lines
1.9 KiB
Java

/*
============================================================
This is the "Zahlenkarte" file from Author: Philipp Kotte
written on: 05 / 10 / 2023 at: 23:30
============================================================
*/
package Domain.Karten;
import Domain.Enums.Kartenfarbe;
public class Zahlenkarte extends Karte {
// Statische Konstanten
// 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;
// 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;
}
// Overrides
// Public Methoden
// Private Methoden
private void setNeueMenschKarte(Kartenfarbe farbe) {
setCharakter(farbe);
setKartenwert(menschID);
menschID++;
}
private void setNeueElfKarte(Kartenfarbe farbe) {
setCharakter(farbe);
setKartenwert(elfID);
elfID++;
}
private void setNeueRieseKarte(Kartenfarbe farbe) {
setCharakter(farbe);
setKartenwert(rieseID);
rieseID++;
}
private void setNeueZwergKarte(Kartenfarbe farbe) {
setCharakter(farbe);
setKartenwert(zwergID);
zwergID++;
}
}