185 lines
4.8 KiB
Java
185 lines
4.8 KiB
Java
/*
|
|
============================================================
|
|
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.Stich;
|
|
import Domain.Block.Block;
|
|
import Domain.Enums.Geschlecht;
|
|
import Domain.Karten.Karte;
|
|
|
|
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<Integer, Spieler> 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() {
|
|
// sing genügend Spieler angelegt?
|
|
if (this.spieler.size() >= 3 && this.spieler.size() <= 6) {
|
|
this.istGestartet = true;
|
|
} else {
|
|
System.out.println("Es fehlen " + (3 - this.spieler.size()) + " spieler");
|
|
}
|
|
|
|
// 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() {
|
|
|
|
// Spieler 1 bekommt karten
|
|
|
|
// Spieler 2 bekommt Karten
|
|
// ...
|
|
|
|
// letzer Spieler bekommt Karten
|
|
|
|
}
|
|
|
|
public void ausspielen(int idKarte) {
|
|
|
|
}
|
|
|
|
public void vorhersagen(int stiche) {
|
|
|
|
}
|
|
|
|
/*--------------------------------------------------------*/
|
|
// Hilfsmethoden (privat)
|
|
/*--------------------------------------------------------*/
|
|
|
|
private Stich[] erstelleStiche(int runde) {
|
|
return new Stich[runde];
|
|
}
|
|
|
|
private void ermittleGewinner(Stich stich) {
|
|
stich.getKarten();
|
|
}
|
|
|
|
private void spieler() {
|
|
|
|
}
|
|
|
|
} |