1
0
Fork 0
main
Kai Sellmann 2023-10-26 09:03:09 +02:00
parent a5ebd0c26d
commit d270f82d72
8 changed files with 164 additions and 19 deletions

65
Domain/Hand.java 100644
View File

@ -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
}

View File

@ -8,8 +8,14 @@ package Domain.Karten;
public abstract class Karte {
// Statische Konstanten
// Statische Attribute
private static int kartenId = 0;
// Attribute der Objekte (Kann es keine geben, da die Klasse abstrakt ist)
// Konstruktoren
public Karte() {
if (kartenId <= 60) {
setKartenId();
@ -18,7 +24,7 @@ public abstract class Karte {
throw new RuntimeException("Es darf nur 60 Karten im Spiel geben.");
}
}
// Statische Methoden
public static int getKartenId() {
return kartenId;
}
@ -26,7 +32,19 @@ public abstract class Karte {
public static void setKartenId() {
kartenId++;
}
// Getter und Setter (Kann es auch keine geben)
// Overrides
@Override
public abstract String toString();
// Public Methoden
// Private Methoden
public abstract String getName();
}

View File

@ -50,6 +50,12 @@ public class Magierkarte extends Karte {
this.name = name;
}
// Overrides
@Override
public String toString() {
return this.name;
}
// public Methoden
// private Methoden

View File

@ -42,7 +42,10 @@ public class Narrenkarte extends Karte {
return nkAnzahl;
}
// Overrides
@Override
public String toString() {
return this.name;
}
// Public Methoden
// Private Methoden

View File

@ -64,7 +64,10 @@ public class Zahlenkarte extends Karte {
this.name = NAME;
}
// Overrides
@Override
public String toString() {
return this.name + " " + this.charakter + " " + this.kartenwert;
}
// Public Methoden
// Private Methoden
@ -96,9 +99,4 @@ public class Zahlenkarte extends Karte {
zwergID++;
}
@Override
public String getName() {
// TODO Auto-generated method stub
return this.name;
}
}

View File

@ -97,7 +97,7 @@ public class Kartenstapel {
public HashMap<Integer, String> getStatusGemischt() {
HashMap<Integer, String> kg = new HashMap<>();
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;
}
@ -133,6 +133,7 @@ public class Kartenstapel {
* als Ausgangswert genommen.
*/
public Karte getObersteKarte() {
// Todo: Nur für den Trumpf
Karte austeilen = null;
if (kartengemischt.get(kartenzählen) != null && kartenzählen <= 60) {
@ -150,6 +151,10 @@ public class Kartenstapel {
return austeilen;
}
/**
*
*/
// Private Methoden
}

View File

@ -13,26 +13,27 @@ import Domain.Enums.Geschlecht;
public class Spieler implements Serializable{
// Statische Konstanten
private final static String BOTNAME = "Spieler (KI): "; // KI erhält einen konstanten Namen + id(zähler)
// 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
private static int id = 1; // Interner Zähler für Prüfung max Spieler und für Name KI(BOTNAME + 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 Hand hand;
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
* @param geschlecht wird übergeben, als MinAnforderung
*/
public Spieler(Geschlecht geschlecht) {
if (id <= 6) {
if (geschlecht != Geschlecht.KI) {
setGeschlecht(geschlecht);
setVorhersage(0);
setHand(0);
setSpielerID(id);
}
else {
@ -91,6 +92,12 @@ public class Spieler implements Serializable{
public int getSpielerID() {
return this.spielerID;
}
public void setHand(int runde) {
this.hand = new Hand(runde);
}
public Hand getHand() {
return this.hand;
}
// Overrides
// Public Methoden
@ -98,9 +105,10 @@ public class Spieler implements Serializable{
// Private Methoden
private void setNeuerBot(Geschlecht geschlecht) {
this.spielerID = id;
this.name = botname + id;
this.name = BOTNAME + " " + id;
this.geschlecht = geschlecht;
this.vorhersage = 0;
setVorhersage(0); // Nicht zwingend notwendig, aber dient
setHand(0); // der Übersicht aller Attribute.
setId();
}

View File

@ -6,11 +6,53 @@ written on: 05 / 10 / 2023 at: 23:25
*/
package Facade;
import Domain.Spieler;
public class Spiel {
public static int getRunde() {
// TODO Auto-generated method stub
return 0;
// 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() {
return runde;
}
// 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++;
}
}