forked from 2211945/WIZARD_PR2_DOP
update
parent
a5ebd0c26d
commit
d270f82d72
|
@ -0,0 +1,65 @@
|
||||||
|
package Domain;
|
||||||
|
|
||||||
|
import Domain.Karten.Karte;
|
||||||
|
|
||||||
|
public class Hand {
|
||||||
|
|
||||||
|
// Statische Konstanten
|
||||||
|
|
||||||
|
// Statische Attribute
|
||||||
|
|
||||||
|
// Attribute der Objekte
|
||||||
|
private Karte[] aktuelleHand;
|
||||||
|
// Konstruktoren
|
||||||
|
public Hand(int runde) {
|
||||||
|
setAktuelleHand(runde);
|
||||||
|
}
|
||||||
|
// Statische Methoden
|
||||||
|
|
||||||
|
// Getter und Setter
|
||||||
|
public Karte[] getAktuelleHand() {
|
||||||
|
return this.aktuelleHand;
|
||||||
|
}
|
||||||
|
private void setAktuelleHand(int runde) {
|
||||||
|
this.aktuelleHand = new Karte[runde];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Overrides
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
// Public Methoden
|
||||||
|
/**
|
||||||
|
* Zeigt die aktuelle Hand des Spielers an
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public Karte[] zeigeHand() {
|
||||||
|
return this.aktuelleHand;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Zeigt die höchste Karte auf der Hand des Spielers an
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public Karte höchsteKarte() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Zeigt die niedrigste Karte auf der Hand des Spielers an
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public Karte niedrigsteKarte() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Ermöglicht die Auswahl einer Karte, die der Spieler
|
||||||
|
* ausspielen möchte
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public Karte karteAuswählen() {
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
// Private Methoden
|
||||||
|
|
||||||
|
}
|
|
@ -8,8 +8,14 @@ package Domain.Karten;
|
||||||
|
|
||||||
public abstract class Karte {
|
public abstract class Karte {
|
||||||
|
|
||||||
|
// Statische Konstanten
|
||||||
|
|
||||||
|
// Statische Attribute
|
||||||
private static int kartenId = 0;
|
private static int kartenId = 0;
|
||||||
|
|
||||||
|
// Attribute der Objekte (Kann es keine geben, da die Klasse abstrakt ist)
|
||||||
|
|
||||||
|
// Konstruktoren
|
||||||
public Karte() {
|
public Karte() {
|
||||||
if (kartenId <= 60) {
|
if (kartenId <= 60) {
|
||||||
setKartenId();
|
setKartenId();
|
||||||
|
@ -18,7 +24,7 @@ public abstract class Karte {
|
||||||
throw new RuntimeException("Es darf nur 60 Karten im Spiel geben.");
|
throw new RuntimeException("Es darf nur 60 Karten im Spiel geben.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Statische Methoden
|
||||||
public static int getKartenId() {
|
public static int getKartenId() {
|
||||||
return kartenId;
|
return kartenId;
|
||||||
}
|
}
|
||||||
|
@ -27,6 +33,18 @@ public abstract class Karte {
|
||||||
kartenId++;
|
kartenId++;
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract String getName();
|
// Getter und Setter (Kann es auch keine geben)
|
||||||
|
|
||||||
|
// Overrides
|
||||||
|
@Override
|
||||||
|
public abstract String toString();
|
||||||
|
|
||||||
|
// Public Methoden
|
||||||
|
|
||||||
|
// Private Methoden
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,6 +50,12 @@ public class Magierkarte extends Karte {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Overrides
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return this.name;
|
||||||
|
}
|
||||||
|
|
||||||
// public Methoden
|
// public Methoden
|
||||||
|
|
||||||
// private Methoden
|
// private Methoden
|
||||||
|
|
|
@ -42,7 +42,10 @@ public class Narrenkarte extends Karte {
|
||||||
return nkAnzahl;
|
return nkAnzahl;
|
||||||
}
|
}
|
||||||
// Overrides
|
// Overrides
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return this.name;
|
||||||
|
}
|
||||||
// Public Methoden
|
// Public Methoden
|
||||||
|
|
||||||
// Private Methoden
|
// Private Methoden
|
||||||
|
|
|
@ -64,7 +64,10 @@ public class Zahlenkarte extends Karte {
|
||||||
this.name = NAME;
|
this.name = NAME;
|
||||||
}
|
}
|
||||||
// Overrides
|
// Overrides
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return this.name + " " + this.charakter + " " + this.kartenwert;
|
||||||
|
}
|
||||||
// Public Methoden
|
// Public Methoden
|
||||||
|
|
||||||
// Private Methoden
|
// Private Methoden
|
||||||
|
@ -96,9 +99,4 @@ public class Zahlenkarte extends Karte {
|
||||||
zwergID++;
|
zwergID++;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getName() {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return this.name;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -97,7 +97,7 @@ public class Kartenstapel {
|
||||||
public HashMap<Integer, String> getStatusGemischt() {
|
public HashMap<Integer, String> getStatusGemischt() {
|
||||||
HashMap<Integer, String> kg = new HashMap<>();
|
HashMap<Integer, String> kg = new HashMap<>();
|
||||||
for (int i = 1; i <= 60; i++) {
|
for (int i = 1; i <= 60; i++) {
|
||||||
kg.put(i, ((String) kartengemischt.get(i).getName()));
|
kg.put(i, ((String) kartengemischt.get(i).toString()));
|
||||||
}
|
}
|
||||||
return kg;
|
return kg;
|
||||||
}
|
}
|
||||||
|
@ -133,6 +133,7 @@ public class Kartenstapel {
|
||||||
* als Ausgangswert genommen.
|
* als Ausgangswert genommen.
|
||||||
*/
|
*/
|
||||||
public Karte getObersteKarte() {
|
public Karte getObersteKarte() {
|
||||||
|
// Todo: Nur für den Trumpf
|
||||||
Karte austeilen = null;
|
Karte austeilen = null;
|
||||||
if (kartengemischt.get(kartenzählen) != null && kartenzählen <= 60) {
|
if (kartengemischt.get(kartenzählen) != null && kartenzählen <= 60) {
|
||||||
|
|
||||||
|
@ -150,6 +151,10 @@ public class Kartenstapel {
|
||||||
|
|
||||||
return austeilen;
|
return austeilen;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
// Private Methoden
|
// Private Methoden
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,26 +13,27 @@ import Domain.Enums.Geschlecht;
|
||||||
public class Spieler implements Serializable{
|
public class Spieler implements Serializable{
|
||||||
|
|
||||||
// Statische Konstanten
|
// Statische Konstanten
|
||||||
|
private final static String BOTNAME = "Spieler (KI): "; // KI erhält einen konstanten Namen + id(zähler)
|
||||||
// Statische Attribute
|
// Statische Attribute
|
||||||
private static int id = 1; // Interner Zähler für Prüfung max Spieler
|
private static int id = 1; // Interner Zähler für Prüfung max Spieler und für Name KI(BOTNAME + id)
|
||||||
private static String botname = "Spieler (KI): "; // KI erhält einen festen Namen + aktuelle id
|
|
||||||
// Attribute der Objekte
|
// Attribute der Objekte
|
||||||
private int spielerID; // Feste SpielerID zur Festlegung der Ref-Variablen
|
private int spielerID; // Feste SpielerID zur Festlegung der Ref-Variablen
|
||||||
private String name; // Name eines Spielers oder fester Name falls Geschlecht.KI
|
private String name; // Name eines Spielers oder fester Name falls Geschlecht.KI
|
||||||
private Geschlecht geschlecht;
|
private Geschlecht geschlecht;
|
||||||
|
private Hand hand;
|
||||||
private int vorhersage;
|
private int vorhersage;
|
||||||
// Konstruktoren
|
// Konstruktoren
|
||||||
/**
|
/**
|
||||||
* Die Prüfung, ob der @param name leer ist, muss in der Klasse Spiel erfolgen.
|
* 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.
|
* Es wird der @param id noch zusätzlich geprüft.
|
||||||
* @param geschlecht
|
* @param geschlecht wird übergeben, als MinAnforderung
|
||||||
*/
|
*/
|
||||||
public Spieler(Geschlecht geschlecht) {
|
public Spieler(Geschlecht geschlecht) {
|
||||||
if (id <= 6) {
|
if (id <= 6) {
|
||||||
if (geschlecht != Geschlecht.KI) {
|
if (geschlecht != Geschlecht.KI) {
|
||||||
setGeschlecht(geschlecht);
|
setGeschlecht(geschlecht);
|
||||||
setVorhersage(0);
|
setVorhersage(0);
|
||||||
|
setHand(0);
|
||||||
setSpielerID(id);
|
setSpielerID(id);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -91,6 +92,12 @@ public class Spieler implements Serializable{
|
||||||
public int getSpielerID() {
|
public int getSpielerID() {
|
||||||
return this.spielerID;
|
return this.spielerID;
|
||||||
}
|
}
|
||||||
|
public void setHand(int runde) {
|
||||||
|
this.hand = new Hand(runde);
|
||||||
|
}
|
||||||
|
public Hand getHand() {
|
||||||
|
return this.hand;
|
||||||
|
}
|
||||||
// Overrides
|
// Overrides
|
||||||
|
|
||||||
// Public Methoden
|
// Public Methoden
|
||||||
|
@ -98,9 +105,10 @@ public class Spieler implements Serializable{
|
||||||
// Private Methoden
|
// Private Methoden
|
||||||
private void setNeuerBot(Geschlecht geschlecht) {
|
private void setNeuerBot(Geschlecht geschlecht) {
|
||||||
this.spielerID = id;
|
this.spielerID = id;
|
||||||
this.name = botname + id;
|
this.name = BOTNAME + " " + id;
|
||||||
this.geschlecht = geschlecht;
|
this.geschlecht = geschlecht;
|
||||||
this.vorhersage = 0;
|
setVorhersage(0); // Nicht zwingend notwendig, aber dient
|
||||||
|
setHand(0); // der Übersicht aller Attribute.
|
||||||
setId();
|
setId();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -6,11 +6,53 @@ written on: 05 / 10 / 2023 at: 23:25
|
||||||
*/
|
*/
|
||||||
package Facade;
|
package Facade;
|
||||||
|
|
||||||
|
import Domain.Spieler;
|
||||||
|
|
||||||
public class Spiel {
|
public class Spiel {
|
||||||
|
|
||||||
|
// Statische Konstanten
|
||||||
|
|
||||||
|
// Statische Attribute
|
||||||
|
private static int runde = 0;
|
||||||
|
|
||||||
|
// Attribute der Objekte
|
||||||
|
private Spieler spielerAmZug;
|
||||||
|
private boolean istGestartet = false;
|
||||||
|
private boolean istBeendet = true;
|
||||||
|
// Konstruktoren
|
||||||
|
public Spiel() {
|
||||||
|
setRunde();
|
||||||
|
setIstGestartet(true);
|
||||||
|
setIstBeendet(false);
|
||||||
|
}
|
||||||
|
// Statische Methoden
|
||||||
public static int getRunde() {
|
public static int getRunde() {
|
||||||
// TODO Auto-generated method stub
|
return runde;
|
||||||
return 0;
|
}
|
||||||
|
// Getter und Setter
|
||||||
|
public void setIstGestartet(boolean wert) {
|
||||||
|
this.istGestartet = wert;
|
||||||
|
}
|
||||||
|
public boolean getIstGestartet() {
|
||||||
|
return this.istGestartet;
|
||||||
|
}
|
||||||
|
public void setIstBeendet(boolean wert) {
|
||||||
|
this.istBeendet = wert;
|
||||||
|
}
|
||||||
|
public boolean getIstBeendet() {
|
||||||
|
return istBeendet;
|
||||||
|
}
|
||||||
|
public Spieler getSpielerAmZug() {
|
||||||
|
return spielerAmZug;
|
||||||
|
}
|
||||||
|
// Overrides
|
||||||
|
|
||||||
|
// Public Methoden
|
||||||
|
|
||||||
|
// Private Methoden
|
||||||
|
private void setRunde() {
|
||||||
|
runde++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue