forked from 2211945/WIZARD_PR2_DOP
Klasse Spieler erstellt und Enums
parent
f454abac68
commit
876c43babc
|
@ -7,5 +7,6 @@ written on: 05 / 10 / 2023 at: 23:31
|
||||||
package Domain.Enums;
|
package Domain.Enums;
|
||||||
|
|
||||||
public enum Geschlecht {
|
public enum Geschlecht {
|
||||||
|
KI, M, W, D;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,13 @@ public enum Kartenfarbe {
|
||||||
|
|
||||||
MENSCH("BLAU"), ELF("GRÜN"), ZWERG("ROT"), RIESE("GELG");
|
MENSCH("BLAU"), ELF("GRÜN"), ZWERG("ROT"), RIESE("GELG");
|
||||||
|
|
||||||
private Kartenfarbe(String farbe) {
|
private String farbe;
|
||||||
|
|
||||||
|
Kartenfarbe(String farbe) {
|
||||||
|
this.farbe = farbe;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFarbe() {
|
||||||
|
return this.farbe;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,106 @@ written on: 05 / 10 / 2023 at: 23:48
|
||||||
*/
|
*/
|
||||||
package Domain;
|
package Domain;
|
||||||
|
|
||||||
public class Spieler {
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
import Domain.Enums.Geschlecht;
|
||||||
|
|
||||||
|
public class Spieler implements Serializable{
|
||||||
|
|
||||||
|
// Statische Konstanten
|
||||||
|
|
||||||
|
// Statische Attribute
|
||||||
|
private static int id = 1; // Interner Zähler für Prüfung max Spieler
|
||||||
|
private static String botname = "Spieler (KI): "; // KI erhält einen festen Namen + aktuelle id
|
||||||
|
// Attribute der Objekte
|
||||||
|
private int spielerID; // Feste SpielerID zur Festlegung der Ref-Variablen
|
||||||
|
private String name; // Name eines Spielers oder fester Name falls Geschlecht.KI
|
||||||
|
private Geschlecht geschlecht;
|
||||||
|
private int vorhersage;
|
||||||
|
// Konstruktoren
|
||||||
|
/**
|
||||||
|
* Die Prüfung, ob der @param name leer ist, muss in der Klasse Spiel erfolgen.
|
||||||
|
* Es wird der @param id noch zusätzlich geprüft.
|
||||||
|
* @param geschlecht
|
||||||
|
*/
|
||||||
|
public Spieler(Geschlecht geschlecht) {
|
||||||
|
if (id <= 6) {
|
||||||
|
if (geschlecht != Geschlecht.KI) {
|
||||||
|
setGeschlecht(geschlecht);
|
||||||
|
setVorhersage(0);
|
||||||
|
setSpielerID(id);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
setNeuerBot(geschlecht);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
throw new RuntimeException("Es kann nur max 6 Spieler pro Spiel geben.");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Der Konstruktor prüft die Länge des @param name ob mehr als zwei
|
||||||
|
* Zeichen übergeben wurden. Geschlecht wird mit @code this(geschlecht) an
|
||||||
|
* den oberen Konstruktor übergeben.
|
||||||
|
* @param geschlecht
|
||||||
|
* @param name
|
||||||
|
*/
|
||||||
|
public Spieler(Geschlecht geschlecht, String name) {
|
||||||
|
this(geschlecht); // Frage: Wird hier (auch wenn Folgebedingung nicht erfüllt) ein Bot angelegt?
|
||||||
|
if (name.length() < 3) {
|
||||||
|
throw new RuntimeException("Der Spielername muss min. 3 Zeichen lang sein.");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
setName(name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Statische Methoden
|
||||||
|
|
||||||
|
// Getter und Setter
|
||||||
|
public void setGeschlecht(Geschlecht geschlecht) {
|
||||||
|
this.geschlecht = geschlecht;
|
||||||
|
}
|
||||||
|
public Geschlecht getGeschlecht() {
|
||||||
|
return this.geschlecht;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
public String getName() {
|
||||||
|
return this.name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setVorhersage(int vorhersage) {
|
||||||
|
this.vorhersage = vorhersage;
|
||||||
|
}
|
||||||
|
public int getVorhersage() {
|
||||||
|
return this.vorhersage;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSpielerID(int id) {
|
||||||
|
this.spielerID = id;
|
||||||
|
setId();
|
||||||
|
}
|
||||||
|
public int getSpielerID() {
|
||||||
|
return this.spielerID;
|
||||||
|
}
|
||||||
|
// Overrides
|
||||||
|
|
||||||
|
// Public Methoden
|
||||||
|
|
||||||
|
// Private Methoden
|
||||||
|
private void setNeuerBot(Geschlecht geschlecht) {
|
||||||
|
this.spielerID = id;
|
||||||
|
this.name = botname + id;
|
||||||
|
this.geschlecht = geschlecht;
|
||||||
|
this.vorhersage = 0;
|
||||||
|
setId();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setId() {
|
||||||
|
id++;
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue