diff --git a/Domain/Enums/Kartenfarbe.java b/Domain/Enums/Kartenfarbe.java index c1e8a2c..e460755 100644 --- a/Domain/Enums/Kartenfarbe.java +++ b/Domain/Enums/Kartenfarbe.java @@ -8,4 +8,9 @@ package Domain.Enums; public enum Kartenfarbe { + MENSCH("BLAU"), ELF("GRÜN"), ZWERG("ROT"), RIESE("GELG"); + + private Kartenfarbe(String farbe) { + + } } diff --git a/Domain/Karten/Karte.java b/Domain/Karten/Karte.java index 00ff7b5..1911a1a 100644 --- a/Domain/Karten/Karte.java +++ b/Domain/Karten/Karte.java @@ -6,6 +6,25 @@ written on: 05 / 10 / 2023 at: 23:28 */ package Domain.Karten; -public class Karte { +public abstract class Karte { + + private static int kartenId = 0; + + public Karte() { + if (kartenId <= 60) { + setKartenId(); + } + else { + throw new RuntimeException("Es darf nur 60 Karten im Spiel geben."); + } + } + public static int getKartenId() { + return kartenId; + } + + public static void setKartenId() { + kartenId++; + } + } diff --git a/Domain/Karten/Magierkarte.java b/Domain/Karten/Magierkarte.java index 9b09380..e7023bd 100644 --- a/Domain/Karten/Magierkarte.java +++ b/Domain/Karten/Magierkarte.java @@ -6,6 +6,53 @@ written on: 05 / 10 / 2023 at: 23:41 */ package Domain.Karten; -public class Magierkarte extends Karte { +import Domain.Enums.Kartenfarbe; +public class Magierkarte extends Karte { + + // Statische Konstanten + private static String TRUMPF_NAME = "Zauberer"; + + // Statische Attribute + private static int mkAnzahl = 1; // mk = magierkarte + + // Attribute der Objekte + private String name; + + // Konstruktoren + public Magierkarte() { + super(); + if (getMkAnzahl() <= 4) { + setName(TRUMPF_NAME); + setMkAnzahl(); + } + else { + throw new RuntimeException("Es darf nur vier Zauberer-(Trumpf)-Karten geben!"); + } + + } + + // Statischen Methoden + + // Getter und Setter + + public static int getMkAnzahl() { + return mkAnzahl; + } + + public static void setMkAnzahl() { + mkAnzahl++; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + // public Methoden + + // private Methoden } diff --git a/Domain/Karten/Test/KarteTest.java b/Domain/Karten/Test/KarteTest.java new file mode 100644 index 0000000..e7490d0 --- /dev/null +++ b/Domain/Karten/Test/KarteTest.java @@ -0,0 +1,14 @@ +package Domain.Karten.Test; + +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.Test; + +class KarteTest { + + @Test + void kartenAnzahl() { + + } + +} diff --git a/main/Main.java b/main/Main.java new file mode 100644 index 0000000..46ed3c6 --- /dev/null +++ b/main/Main.java @@ -0,0 +1,15 @@ +package main; + +import Facade.Spiel; +import Infrastructure.Persistenz; + +public class Main { + + public static void main(String[] args) { + + String spielname = "Wizard"; + Spiel spiel; + + } + +}