/* ============================================================ This is the "Spiel" file from Author: Philipp Kotte written on: 05 / 10 / 2023 at: 23:25 ============================================================ */ package Facade; import java.io.Serializable; import java.util.HashMap; import Domain.Kartenstapel; import Domain.Spieler; import Domain.Block.Block; import Domain.Enums.Geschlecht; public class Spiel implements Serializable { /*--------------------------------------------------------*/ // statische Konstanten /*--------------------------------------------------------*/ /*--------------------------------------------------------*/ // statische Attribute(zB. zähler) /*--------------------------------------------------------*/ /*--------------------------------------------------------*/ // Attribute jedes Objektes /*--------------------------------------------------------*/ private boolean istGestartet; private boolean istBeendet; private Spieler spielerAmZug; private int runde; private HashMap spieler = new HashMap<>(); private boolean[] id_check = { false, false, false, false, false, false }; private Kartenstapel kartenstapel; private Block block; /*--------------------------------------------------------*/ // Konstruktoren (default und spezifische) /*--------------------------------------------------------*/ public Spiel() { this.istGestartet = false; this.istBeendet = false; this.spielerAmZug = null; this.runde = 0; }; /*--------------------------------------------------------*/ // statische Methoden /*--------------------------------------------------------*/ /*--------------------------------------------------------*/ // Getter und Setter /*--------------------------------------------------------*/ public void setSpielGestartet(boolean gestarted) { this.istGestartet = gestarted; } public void setSpielBeendet(boolean beendet) { this.istBeendet = beendet; } public void setRunde(int runde) { this.runde = runde; } public void setSpielerAmZug(Spieler spieler) { this.spielerAmZug = spieler; } /*--------------------------------------------------------*/ // @Overrides /*--------------------------------------------------------*/ @Override public String toString() { return "Runde: " + getRunde() + ", Gestartet : " + (istSpielGestartet() ? "Ja " : "Nein ") + ", Beendet: " + (istSpielBeendet() ? "Ja" : "Nein") + ", Spieler am Zug: " + getSpielerAmZug()[0]; } /*--------------------------------------------------------*/ // öffentliche Methodes /*--------------------------------------------------------*/ public void addSpieler(String name, Geschlecht geschlecht) { int id = 1; while (id_check[id - 1]) { id++; } Spieler temp = new Spieler(id, name, geschlecht); this.spieler.put(id, temp); } public void removeSpieler(int id_spieler) { this.spieler.remove(id_spieler); } public String[] getAlleSpieler() { String[] spieler_text = new String[this.spieler.size()]; for (int i = 0; i < this.spieler.size() - 1; i++) { spieler_text[i] = this.spieler.get(i).toString(); } return spieler_text; } public void starteSpiel() { this.istGestartet = true; // Gameloop? } public String[] getSpielerAmZug() { return new String[1]; } public boolean istSpielGestartet() { return this.istGestartet; } public boolean istSpielBeendet() { return this.istBeendet; } public String[][] getBlock() { return new String[0][0]; } public String getGewinner() { return ""; } public int getRunde() { return this.runde; } public void mischen() { } public void austeilen() { } public void ausspielen(int idKarte) { } public void vorhersagen(int stiche) { } /*--------------------------------------------------------*/ // Hilfsmethoden (privat) /*--------------------------------------------------------*/ }