1
0
Fork 0

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

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 { public abstract class Karte {
// Statische Konstanten // Statische Konstanten
// Statische Attribute // Statische Attribute
private static int id_card = 0; private int id;
// Attribute des Ojektes // Attribute des Ojektes
// Konstruktoren // Konstruktoren
public Karte() { public Karte() {
if (id_card < 60) {
id_card++;
}
} }
public Karte(int id) {
this.id = id;
}
// Statische Methoden // Statische Methoden
public static int getId_card() {
return id_card;
}
// Getter und Setter // Getter und Setter
public int getId() {
return this.id;
}
// @Overrides // @Overrides
// Public Methoden (öffentliche Methoden) // Public Methoden (öffentliche Methoden)
// Private Methoden (Hilfsmethoden) // Private Methoden (Hilfsmethoden)
} }

View File

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

View File

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

View File

@ -19,11 +19,18 @@ public class Zahlenkarte extends Karte {
/*------------------------------------------*/ /*------------------------------------------*/
// Attribute jedes Objektes // Attribute jedes Objektes
/*------------------------------------------*/ /*------------------------------------------*/
private int wert;
/*------------------------------------------*/ /*------------------------------------------*/
// Konstruktoren (default und spezifische) // Konstruktoren (default und spezifische)
/*------------------------------------------*/ /*------------------------------------------*/
public Zahlenkarte() {
}
public Zahlenkarte(int wert) {
setWert(wert);
}
/*------------------------------------------*/ /*------------------------------------------*/
// statische Methoden // statische Methoden
/*------------------------------------------*/ /*------------------------------------------*/
@ -32,10 +39,23 @@ public class Zahlenkarte extends Karte {
// Getter und Setter // Getter und Setter
/*------------------------------------------*/ /*------------------------------------------*/
public int getWert() {
return this.wert;
}
public void setWert(int wert) {
this.wert = wert;
}
/*------------------------------------------*/ /*------------------------------------------*/
// @Overrides // @Overrides
/*------------------------------------------*/ /*------------------------------------------*/
@Override
public String toString() {
return "Zahlenkarte [Wert: " + getWert() + ", ID: " + this.getId() + " ]";
}
/*------------------------------------------*/ /*------------------------------------------*/
// öffentliche Methodes // ö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.Kartenstapel;
import Domain.Spieler; import Domain.Spieler;
import Domain.Stich;
import Domain.Block.Block; import Domain.Block.Block;
import Domain.Enums.Geschlecht; import Domain.Enums.Geschlecht;
import Domain.Karten.Karte;
public class Spiel implements Serializable { public class Spiel implements Serializable {
@ -107,7 +109,13 @@ public class Spiel implements Serializable {
} }
public void starteSpiel() { 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? // Gameloop?
} }
@ -141,6 +149,13 @@ public class Spiel implements Serializable {
public void austeilen() { public void austeilen() {
// Spieler 1 bekommt karten
// Spieler 2 bekommt Karten
// ...
// letzer Spieler bekommt Karten
} }
public void ausspielen(int idKarte) { public void ausspielen(int idKarte) {
@ -155,4 +170,16 @@ public class Spiel implements Serializable {
// Hilfsmethoden (privat) // 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) { switch (input) {
case 1: case 1:
this.spiel.starteSpiel();
System.out.println("Noch nicht implementiert."); System.out.println("Noch nicht implementiert.");
break; break;
case 2: case 2: