Diverse Anpassungen in Spiel, Karte, Magierkarte, Narrenkarte, zahlenkarte und SpielCLI

pull/38/head
Philipp Kotte 2023-10-12 08:51:24 +02:00
parent 014bfdcfb3
commit 1b3decf050
7 changed files with 182 additions and 41 deletions

View File

@ -9,28 +9,31 @@ package Domain.Karten;
public abstract class Karte {
// Statische Konstanten
// Statische Attribute
private static int id_card = 0;
private int id;
// Attribute des Ojektes
// Konstruktoren
public Karte() {
if (id_card < 60) {
id_card++;
}
}
public Karte(int id) {
this.id = id;
}
// Statische Methoden
public static int getId_card() {
return id_card;
}
// Getter und Setter
public int getId() {
return this.id;
}
// @Overrides
// Public Methoden (öffentliche Methoden)
// Private Methoden (Hilfsmethoden)
}

View File

@ -10,49 +10,57 @@ import Domain.Enums.Kartenfarbe;
public class Magierkarte extends Karte {
// Statische Konstanten
// Statische Attribute
// Attribute des Objekts
private Kartenfarbe farbe;
private String bezeichnung;
// Konstruktoren
public Magierkarte() {
super();
}
public Magierkarte(Kartenfarbe farbe, String bezeichnung) {
super();
setFarbe(farbe);
setBezeichnung(bezeichnung);
}
// Statische Methoden
// Getter und Setter
public void setFarbe(Kartenfarbe farbe) {
this.farbe = farbe;
}
public Kartenfarbe getFarbe() {
return this.farbe;
}
public int getId() {
return Karte.getId_card();
return this.getId();
}
public void setBezeichnung(String bezeichnung) {
this.bezeichnung = bezeichnung;
}
public String getBezeichnung () {
public String getBezeichnung() {
return this.bezeichnung;
}
// @Overrides
@Override
public String toString() {
return "Magierkarte [ID: " + this.getId() + " ]";
}
// Public Methoden
// Private Methoden
}

View File

@ -11,47 +11,54 @@ import Domain.Enums.Kartenfarbe;
public class Narrenkarte extends Karte {
// Statische Konstanten
// Statische Attribute
// Attribute des Objekts
private Kartenfarbe farbe;
private String bezeichnung;
// Konstruktoren
public Narrenkarte() {
super();
public Narrenkarte(int id) {
super(id);
}
public Narrenkarte(Kartenfarbe farbe, String bezeichnung) {
super();
setFarbe(farbe);
setBezeichnung(bezeichnung);
}
// Statische Methoden
// Getter und Setter
public int getId() {
return Karte.getId_card();
return this.getId();
}
public void setFarbe(Kartenfarbe farbe) {
this.farbe = farbe;
}
public Kartenfarbe getFarbe() {
return this.farbe;
}
public void setBezeichnung(String bezeichnung) {
this.bezeichnung = bezeichnung;
}
public String getBezeichnung() {
return this.bezeichnung;
}
// @Overrides
@Override
public String toString() {
return "Narrenkarte [ID: " + this.getId() + " ]";
}
// Public Methoden
// Private Methoden
}

View File

@ -19,11 +19,18 @@ public class Zahlenkarte extends Karte {
/*------------------------------------------*/
// Attribute jedes Objektes
/*------------------------------------------*/
private int wert;
/*------------------------------------------*/
// Konstruktoren (default und spezifische)
/*------------------------------------------*/
public Zahlenkarte() {
}
public Zahlenkarte(int wert) {
setWert(wert);
}
/*------------------------------------------*/
// statische Methoden
/*------------------------------------------*/
@ -32,10 +39,23 @@ public class Zahlenkarte extends Karte {
// Getter und Setter
/*------------------------------------------*/
public int getWert() {
return this.wert;
}
public void setWert(int wert) {
this.wert = wert;
}
/*------------------------------------------*/
// @Overrides
/*------------------------------------------*/
@Override
public String toString() {
return "Zahlenkarte [Wert: " + getWert() + ", ID: " + this.getId() + " ]";
}
/*------------------------------------------*/
// öffentliche Methodes
/*------------------------------------------*/

75
Domain/Stich.java 100644
View File

@ -0,0 +1,75 @@
/*
============================================================
This is the "Stich" file from Author: Philipp Kotte
written on: 11 / 10 / 2023 at: 20:25
============================================================
*/
package Domain;
import Domain.Karten.Karte;
public class Stich {
/*------------------------------------------*/
// statische Konstanten
/*------------------------------------------*/
/*------------------------------------------*/
// statische Attribute(zB. zähler)
/*------------------------------------------*/
/*------------------------------------------*/
// Attribute jedes Objektes
/*------------------------------------------*/
private Karte[] karten;
/*------------------------------------------*/
// Konstruktoren (default und spezifische)
/*------------------------------------------*/
public Stich() {
}
public Stich(Karte[] karten) {
setKarten(karten);
}
/*------------------------------------------*/
// statische Methoden
/*------------------------------------------*/
/*------------------------------------------*/
// Getter und Setter
/*------------------------------------------*/
public void setKarten(Karte[] karten) {
this.karten = karten;
}
public Karte[] getKarten() {
return this.karten;
}
/*------------------------------------------*/
// @Overrides
/*------------------------------------------*/
@Override
public String toString() {
String text = "";
for (int i = 0; i < this.karten.length; i++) {
text += this.karten[i].toString();
}
return text;
}
/*------------------------------------------*/
// öffentliche Methodes
/*------------------------------------------*/
/*------------------------------------------*/
// Hilfsmethoden (privat)
/*------------------------------------------*/
}

View File

@ -11,8 +11,10 @@ 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 {
@ -107,7 +109,13 @@ public class Spiel implements Serializable {
}
public void starteSpiel() {
this.istGestartet = true;
// 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?
}
@ -141,6 +149,13 @@ public class Spiel implements Serializable {
public void austeilen() {
// Spieler 1 bekommt karten
// Spieler 2 bekommt Karten
// ...
// letzer Spieler bekommt Karten
}
public void ausspielen(int idKarte) {
@ -155,4 +170,16 @@ public class Spiel implements Serializable {
// Hilfsmethoden (privat)
/*--------------------------------------------------------*/
private Stich[] erstelleStiche(int runde) {
return new Stich[runde];
}
private void ermittleGewinner(Stich stich) {
stich.getKarten();
}
private void spieler() {
}
}

View File

@ -40,6 +40,7 @@ public class SpielCLI {
switch (input) {
case 1:
this.spiel.starteSpiel();
System.out.println("Noch nicht implementiert.");
break;
case 2: