From 4ac36d3b079d6340dbf10c4e7a179a8540fc2008 Mon Sep 17 00:00:00 2001 From: Kai Sellmann <2210892@stud.hs-mannheim.de> Date: Mon, 23 Oct 2023 14:22:39 +0200 Subject: [PATCH] =?UTF-8?q?=C3=84nderung=20von=20Zugriff=20und=20Attribute?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Domain/Karten/Magierkarte.java | 8 ++-- Domain/Karten/Narrenkarte.java | 39 +++++++++++++++++ Domain/Karten/Zahlenkarte.java | 78 ++++++++++++++++++++++++++++++++++ 3 files changed, 120 insertions(+), 5 deletions(-) diff --git a/Domain/Karten/Magierkarte.java b/Domain/Karten/Magierkarte.java index e7023bd..b193ada 100644 --- a/Domain/Karten/Magierkarte.java +++ b/Domain/Karten/Magierkarte.java @@ -6,8 +6,6 @@ written on: 05 / 10 / 2023 at: 23:41 */ package Domain.Karten; -import Domain.Enums.Kartenfarbe; - public class Magierkarte extends Karte { // Statische Konstanten @@ -27,7 +25,7 @@ public class Magierkarte extends Karte { setMkAnzahl(); } else { - throw new RuntimeException("Es darf nur vier Zauberer-(Trumpf)-Karten geben!"); + throw new RuntimeException("Es darf nur 4 Zaubererkarten im Spiel geben."); } } @@ -36,11 +34,11 @@ public class Magierkarte extends Karte { // Getter und Setter - public static int getMkAnzahl() { + public int getMkAnzahl() { return mkAnzahl; } - public static void setMkAnzahl() { + public void setMkAnzahl() { mkAnzahl++; } diff --git a/Domain/Karten/Narrenkarte.java b/Domain/Karten/Narrenkarte.java index 47cfb6b..b2b8106 100644 --- a/Domain/Karten/Narrenkarte.java +++ b/Domain/Karten/Narrenkarte.java @@ -8,4 +8,43 @@ package Domain.Karten; public class Narrenkarte extends Karte { + // Statische Konstanten + private final static String KARTE_NAME = "Narr"; + // Statische Attribute + private static int nkAnzahl = 1; + // Attribute der Objekte + private String name; + // Konstruktoren + public Narrenkarte() { + super(); + if (getNkAnzahl() <= 4) { + setName(KARTE_NAME); + setNkAnzahl(); + } + else { + throw new RuntimeException("Es darf nur 4 Narrenkarten im Spiel geben."); + } + } + // Statische Methoden + + // Getter und Setter + private void setName(String name) { + this.name = name; + } + public String getName() { + return this.name; + } + + private void setNkAnzahl() { + nkAnzahl++; + } + public int getNkAnzahl() { + return nkAnzahl; + } + // Overrides + + // Public Methoden + + // Private Methoden + } diff --git a/Domain/Karten/Zahlenkarte.java b/Domain/Karten/Zahlenkarte.java index 4535000..578715e 100644 --- a/Domain/Karten/Zahlenkarte.java +++ b/Domain/Karten/Zahlenkarte.java @@ -6,6 +6,84 @@ written on: 05 / 10 / 2023 at: 23:30 */ package Domain.Karten; +import Domain.Enums.Kartenfarbe; + public class Zahlenkarte extends Karte { + // Statische Konstanten + + // Statische Attribute + private static int menschID = 1; + private static int elfID = 1; + private static int rieseID = 1; + private static int zwergID = 1; + // Attribute der Objekte + private int kartenwert; + private Kartenfarbe charakter; + // Konstruktoren + + public Zahlenkarte(Kartenfarbe farbe) { + super(); + if (farbe == Kartenfarbe.MENSCH && menschID <=13) { + setNeueMenschKarte(farbe); + } + else if (farbe == Kartenfarbe.ELF && elfID <= 13) { + setNeueElfKarte(farbe); + } + else if (farbe == Kartenfarbe.RIESE && rieseID <= 13) { + setNeueRieseKarte(farbe); + } + else if (farbe == Kartenfarbe.ZWERG && zwergID <= 13) { + setNeueZwergKarte(farbe); + } + else { + throw new RuntimeException("Es darf von jedem Charakter nur 13 Karten im Spiel geben."); + } + } + // Statische Methoden + + // Getter und Setter + public int getKartenwert() { + return kartenwert; + } + + public void setKartenwert(int kartenwert) { + this.kartenwert = kartenwert; + } + + public Kartenfarbe getCharakter() { + return charakter; + } + + public void setCharakter(Kartenfarbe charakter) { + this.charakter = charakter; + } + // Overrides + + // Public Methoden + + // Private Methoden + private void setNeueMenschKarte(Kartenfarbe farbe) { + setCharakter(farbe); + setKartenwert(menschID); + menschID++; + } + + private void setNeueElfKarte(Kartenfarbe farbe) { + setCharakter(farbe); + setKartenwert(elfID); + elfID++; + } + + private void setNeueRieseKarte(Kartenfarbe farbe) { + setCharakter(farbe); + setKartenwert(rieseID); + rieseID++; + } + + private void setNeueZwergKarte(Kartenfarbe farbe) { + setCharakter(farbe); + setKartenwert(zwergID); + zwergID++; + } }