193 lines
4.2 KiB
Java
193 lines
4.2 KiB
Java
/*
|
|
============================================================
|
|
This is the "Spieler" file from Author: Philipp Kotte
|
|
written on: 05 / 10 / 2023 at: 23:48
|
|
============================================================
|
|
*/
|
|
package Domain;
|
|
|
|
import Domain.Enums.Geschlecht;
|
|
|
|
import java.io.Serializable;
|
|
|
|
public class Spieler implements Serializable {
|
|
|
|
/*------------------------------------------*/
|
|
// statische Konstanten
|
|
/*------------------------------------------*/
|
|
|
|
/*------------------------------------------*/
|
|
// statische Attribute(zB. zähler)
|
|
/*------------------------------------------*/
|
|
|
|
/*------------------------------------------*/
|
|
// Attribute jedes Objektes
|
|
/*------------------------------------------*/
|
|
private int id = 0;
|
|
private String name;
|
|
private int vorhersage;
|
|
private Geschlecht geschlecht;
|
|
|
|
/*------------------------------------------*/
|
|
// Konstruktoren (default und spezifische)
|
|
/*------------------------------------------*/
|
|
// Default
|
|
/**
|
|
* Default Konstruktor des Spieler - Klasse
|
|
*/
|
|
public Spieler() {
|
|
|
|
}
|
|
|
|
/**
|
|
* Konstruktor des Spieler - Klasse mit den Werten id, name und geschlecht
|
|
*
|
|
* @param id int
|
|
* @param name String
|
|
* @param geschlecht Geschlecht
|
|
*/
|
|
public Spieler(int id, String name, Geschlecht geschlecht) {
|
|
this();
|
|
if (id < 6) {
|
|
setId(id);
|
|
}
|
|
else {
|
|
throw new RuntimeException("Es darf nur max 6 Spieler geben.");
|
|
}
|
|
if (geschlecht == Geschlecht.KI) {
|
|
setName(name); // Bei KI wird kein Name gesetzt. name = leerer String
|
|
}
|
|
else if (name.length() > 2) {
|
|
setName(name); // Es wird geprüft, ob Name größer 2 Zeichen
|
|
}
|
|
else {
|
|
throw new RuntimeException("Der Name muss länger als 2 Buchstaben sein.");
|
|
}
|
|
setGeschlecht(geschlecht);
|
|
}
|
|
|
|
/**
|
|
* Konstruktor des Spieler - Klasse mit den Werten id, name, geschlecht und
|
|
* Vorhersage
|
|
*
|
|
* @param id int
|
|
* @param name String
|
|
* @param geschlecht Geschlecht
|
|
* @param vorhersage int
|
|
*/
|
|
public Spieler(int id, String name, Geschlecht geschlecht, int vorhersage) {
|
|
this(id, name, geschlecht);
|
|
setVorhersage(vorhersage);
|
|
}
|
|
|
|
/*------------------------------------------*/
|
|
// statische Methoden
|
|
/*------------------------------------------*/
|
|
|
|
/*------------------------------------------*/
|
|
// Getter und Setter
|
|
/*------------------------------------------*/
|
|
// id
|
|
/**
|
|
* Setzt die ID des Spielers
|
|
*
|
|
* @param int id
|
|
*/
|
|
private void setId(int id) {
|
|
this.id = id;
|
|
}
|
|
|
|
/**
|
|
* Gibt die ID des Spielers zurück
|
|
*
|
|
* @return int id
|
|
*/
|
|
public int getId() {
|
|
return id;
|
|
}
|
|
|
|
// name
|
|
/**
|
|
* Setzt den Namen des Spielers
|
|
*
|
|
* @param String name
|
|
*/
|
|
public void setName(String name) {
|
|
this.name = name;
|
|
}
|
|
|
|
/**
|
|
* Gibt den Namen des Spielers zurück
|
|
*
|
|
* @return String name
|
|
*/
|
|
public String getName() {
|
|
return name;
|
|
}
|
|
|
|
// geschlecht
|
|
/**
|
|
* Setzt das Geschlecht des Spielers wie definiert in
|
|
* {@link Domain.Enums.Geschlecht}
|
|
*
|
|
* @param geschlecht
|
|
*/
|
|
public void setGeschlecht(Geschlecht geschlecht) {
|
|
this.geschlecht = geschlecht;
|
|
}
|
|
|
|
/**
|
|
* Gibt das Geschlecht des Spielers zurück wie definiert in
|
|
* {@link Domain.Enums.Geschlecht}
|
|
*
|
|
* @return
|
|
*/
|
|
public Geschlecht getGeschlecht() {
|
|
return geschlecht;
|
|
}
|
|
|
|
// vorhersage
|
|
/**
|
|
* Setzt die Vorhersage des Spielers
|
|
*
|
|
* @param int vorhersage
|
|
*/
|
|
public void setVorhersage(int vorhersage) {
|
|
this.vorhersage = vorhersage;
|
|
}
|
|
|
|
/**
|
|
* Gibt die Vorhersage von dem Spieler zurück
|
|
*
|
|
* @return int vorhersage
|
|
*/
|
|
public int getVorhersage() {
|
|
return vorhersage;
|
|
}
|
|
|
|
/*------------------------------------------*/
|
|
// @Overrides
|
|
/*------------------------------------------*/
|
|
|
|
/**
|
|
* Überschreibt die toString methode für eine eigene Implementation um den
|
|
* Spieler als String zurück zu geben
|
|
*
|
|
* @return ID: "id" Name: "name" ("geschlecht")
|
|
*
|
|
*/
|
|
@Override
|
|
public String toString() {
|
|
return "ID: " + this.id + " Name: " + this.name + " (" + this.geschlecht + ")";
|
|
}
|
|
|
|
/*------------------------------------------*/
|
|
// öffentliche Methodes
|
|
/*------------------------------------------*/
|
|
|
|
/*------------------------------------------*/
|
|
// Hilfsmethoden (privat)
|
|
/*------------------------------------------*/
|
|
|
|
}
|