diff --git a/.gitignore b/.gitignore index 0e7aa83..4ccb9be 100644 --- a/.gitignore +++ b/.gitignore @@ -4,5 +4,9 @@ # Object Data *.o +# iml +*.iml + # Jar dateien -/lib \ No newline at end of file +/lib +.idea diff --git a/Domain/Block/Block.java b/Domain/Block/Block.java index 9b3a1a2..bdf34d0 100644 --- a/Domain/Block/Block.java +++ b/Domain/Block/Block.java @@ -7,5 +7,12 @@ written on: 05 / 10 / 2023 at: 23:43 package Domain.Block; public class Block { + public void addZeile(){ + } + + public Blockzeile[] getDaten() { + return null; + } + //neues Kommentar } diff --git a/Domain/Block/Blockzeile.java b/Domain/Block/Blockzeile.java index fd3ab31..1bde72b 100644 --- a/Domain/Block/Blockzeile.java +++ b/Domain/Block/Blockzeile.java @@ -7,14 +7,47 @@ written on: 05 / 10 / 2023 at: 23:44 package Domain.Block; public class Blockzeile { + + /*------------------------------------------*/ + // statische Konstanten + /*------------------------------------------*/ + + /*------------------------------------------*/ + // statische Attribute(zB. zähler) + /*------------------------------------------*/ + + /*------------------------------------------*/ + // Attribute jedes Objektes + /*------------------------------------------*/ + private int rundenNummer; private Blockeintrag[] eintraege; + /*------------------------------------------*/ + // Konstruktoren (default und spezifische) + /*------------------------------------------*/ + public Blockzeile(int rundenNummer, int spielerAnzahl) { this.rundenNummer = rundenNummer; this.eintraege = new Blockeintrag[spielerAnzahl]; } + /*------------------------------------------*/ + // statische Methoden + /*------------------------------------------*/ + + /*------------------------------------------*/ + // Getter und Setter + /*------------------------------------------*/ + + /*------------------------------------------*/ + // @Overrides + /*------------------------------------------*/ + + /*------------------------------------------*/ + // öffentliche Methodes + /*------------------------------------------*/ + public void addEintrag(Blockeintrag be) { for (int i = 0; i < eintraege.length; i++) { @@ -22,10 +55,14 @@ public class Blockzeile { eintraege[i] = be; } } - }; + } public Blockeintrag[] getDaten() { return eintraege; } + /*------------------------------------------*/ + // Hilfsmethoden (privat) + /*------------------------------------------*/ + } diff --git a/Domain/Karten/Zahlenkarte.java b/Domain/Karten/Zahlenkarte.java index 4535000..9f52db5 100644 --- a/Domain/Karten/Zahlenkarte.java +++ b/Domain/Karten/Zahlenkarte.java @@ -8,4 +8,40 @@ package Domain.Karten; public class Zahlenkarte extends Karte { + /*------------------------------------------*/ + // statische Konstanten + /*------------------------------------------*/ + + /*------------------------------------------*/ + // statische Attribute(zB. zähler) + /*------------------------------------------*/ + + /*------------------------------------------*/ + // Attribute jedes Objektes + /*------------------------------------------*/ + + /*------------------------------------------*/ + // Konstruktoren (default und spezifische) + /*------------------------------------------*/ + + /*------------------------------------------*/ + // statische Methoden + /*------------------------------------------*/ + + /*------------------------------------------*/ + // Getter und Setter + /*------------------------------------------*/ + + /*------------------------------------------*/ + // @Overrides + /*------------------------------------------*/ + + /*------------------------------------------*/ + // öffentliche Methodes + /*------------------------------------------*/ + + /*------------------------------------------*/ + // Hilfsmethoden (privat) + /*------------------------------------------*/ + } diff --git a/Domain/Kartenstapel.java b/Domain/Kartenstapel.java index 0bf32d8..1851498 100644 --- a/Domain/Kartenstapel.java +++ b/Domain/Kartenstapel.java @@ -5,32 +5,75 @@ written on: 05 / 10 / 2023 at: 23:42 ============================================================ */ package Domain; + import Domain.Karten.*; -public class Kartenstapel { - + +public class Kartenstapel { + + /*------------------------------------------*/ + // statische Konstanten + /*------------------------------------------*/ + + /*------------------------------------------*/ + // statische Attribute(zB. zähler) + /*------------------------------------------*/ + + /*------------------------------------------*/ + // Attribute jedes Objektes + /*------------------------------------------*/ + private Karte[] kartenStapel = new Karte[60]; - // + + /*------------------------------------------*/ + // Konstruktoren (default und spezifische) + /*------------------------------------------*/ + public Kartenstapel() { - - } - - public void mischen() { - + } + + /*------------------------------------------*/ + // statische Methoden + /*------------------------------------------*/ + + /*------------------------------------------*/ + // Getter und Setter + /*------------------------------------------*/ + /** * Ausgabe des ersten Elements des Stapels. + * * @return erstes Element */ public Karte getObersteKarte() { return kartenStapel[0]; } - + /** * Ausgabe der Stapelgroesse. + * * @return laenge des Kartenstapels-Arrays */ public int getAnzahlKarten() { return kartenStapel.length; } + /*------------------------------------------*/ + // @Overrides + /*------------------------------------------*/ + + /*------------------------------------------*/ + // öffentliche Methoden + /*------------------------------------------*/ + + public void mischen() { + + } + + /*------------------------------------------*/ + // Hilfsmethoden (privat) + /*------------------------------------------*/ + + // + } diff --git a/Domain/Spieler.java b/Domain/Spieler.java index 06fa35e..e01e2d7 100644 --- a/Domain/Spieler.java +++ b/Domain/Spieler.java @@ -12,17 +12,25 @@ import java.io.Serializable; public class Spieler implements Serializable { - // Statische Konstanten + /*------------------------------------------*/ + // statische Konstanten + /*------------------------------------------*/ - // Statische Attribute + /*------------------------------------------*/ + // statische Attribute(zB. zähler) + /*------------------------------------------*/ - // Attribute der Objekte + /*------------------------------------------*/ + // Attribute jedes Objektes + /*------------------------------------------*/ private int id; private String name; private int vorhersage; private Geschlecht geschlecht; - // Konstruktoren + /*------------------------------------------*/ + // Konstruktoren (default und spezifische) + /*------------------------------------------*/ // Default /** * Default Konstruktor des Spieler - Klasse @@ -59,9 +67,13 @@ public class Spieler implements Serializable { setVorhersage(vorhersage); } - // Statische Methoden + /*------------------------------------------*/ + // statische Methoden + /*------------------------------------------*/ + /*------------------------------------------*/ // Getter und Setter + /*------------------------------------------*/ // id /** * Setzt die ID des Spielers @@ -140,7 +152,10 @@ public class Spieler implements Serializable { return vorhersage; } + /*------------------------------------------*/ // @Overrides + /*------------------------------------------*/ + /** * Überschreibt die toString methode für eine eigene Implementation um den * Spieler als String zurück zu geben @@ -153,4 +168,12 @@ public class Spieler implements Serializable { return "ID: " + this.id + " Name: " + this.name + " (" + this.geschlecht + ")"; } + /*------------------------------------------*/ + // öffentliche Methodes + /*------------------------------------------*/ + + /*------------------------------------------*/ + // Hilfsmethoden (privat) + /*------------------------------------------*/ + } diff --git a/Facade/Spiel.java b/Facade/Spiel.java index 3248210..3925d13 100644 --- a/Facade/Spiel.java +++ b/Facade/Spiel.java @@ -9,17 +9,37 @@ package Facade; import java.io.Serializable; import java.util.HashMap; +import Domain.Kartenstapel; import Domain.Spieler; +import Domain.Block.Block; import Domain.Enums.Geschlecht; public class Spiel implements Serializable { + /*--------------------------------------------------------*/ + // statische Konstanten + /*--------------------------------------------------------*/ + + /*--------------------------------------------------------*/ + // statische Attribute(zB. zähler) + /*--------------------------------------------------------*/ + + /*--------------------------------------------------------*/ + // Attribute jedes Objektes + /*--------------------------------------------------------*/ + private boolean istGestartet; private boolean istBeendet; private Spieler spielerAmZug; private int runde; private HashMap spieler = new HashMap<>(); private boolean[] id_check = { false, false, false, false, false, false }; + private Kartenstapel kartenstapel; + private Block block; + + /*--------------------------------------------------------*/ + // Konstruktoren (default und spezifische) + /*--------------------------------------------------------*/ public Spiel() { this.istGestartet = false; @@ -27,6 +47,43 @@ public class Spiel implements Serializable { this.spielerAmZug = null; this.runde = 0; }; + /*--------------------------------------------------------*/ + // statische Methoden + /*--------------------------------------------------------*/ + + /*--------------------------------------------------------*/ + // Getter und Setter + /*--------------------------------------------------------*/ + + public void setSpielGestartet(boolean gestarted) { + this.istGestartet = gestarted; + } + + public void setSpielBeendet(boolean beendet) { + this.istBeendet = beendet; + } + + public void setRunde(int runde) { + this.runde = runde; + } + + public void setSpielerAmZug(Spieler spieler) { + this.spielerAmZug = spieler; + } + + /*--------------------------------------------------------*/ + // @Overrides + /*--------------------------------------------------------*/ + + @Override + public String toString() { + return "Runde: " + getRunde() + ", Gestartet : " + (istSpielGestartet() ? "Ja " : "Nein ") + ", Beendet: " + + (istSpielBeendet() ? "Ja" : "Nein") + ", Spieler am Zug: " + getSpielerAmZug()[0]; + } + + /*--------------------------------------------------------*/ + // öffentliche Methodes + /*--------------------------------------------------------*/ public void addSpieler(String name, Geschlecht geschlecht) { int id = 1; @@ -55,7 +112,7 @@ public class Spiel implements Serializable { } public String[] getSpielerAmZug() { - return new String[0]; + return new String[1]; } public boolean istSpielGestartet() { @@ -78,7 +135,7 @@ public class Spiel implements Serializable { return this.runde; } - public void mischer() { + public void mischen() { } @@ -94,4 +151,8 @@ public class Spiel implements Serializable { } + /*--------------------------------------------------------*/ + // Hilfsmethoden (privat) + /*--------------------------------------------------------*/ + } \ No newline at end of file diff --git a/Infrastructure/Persistenz.java b/Infrastructure/Persistenz.java index 087cc3d..13b6959 100644 --- a/Infrastructure/Persistenz.java +++ b/Infrastructure/Persistenz.java @@ -12,11 +12,31 @@ import java.io.*; public class Persistenz { - final static String FILE_NAME = "WIZARD_DATA_"; + /*------------------------------------------*/ + // statische Konstanten + /*------------------------------------------*/ - public static boolean sindDatenVorhanden(String name){ + /*------------------------------------------*/ + // statische Attribute(zB. zähler) + /*------------------------------------------*/ + + final static String FILE_NAME = "WIZARD_DATA_"; + + /*------------------------------------------*/ + // Attribute jedes Objektes + /*------------------------------------------*/ + + /*------------------------------------------*/ + // Konstruktoren (default und spezifische) + /*------------------------------------------*/ + + /*------------------------------------------*/ + // statische Methoden + /*------------------------------------------*/ + + public static boolean sindDatenVorhanden(String name) { File f = new File(FILE_NAME + name + ".ser"); - if(f.exists()){ + if (f.exists()) { return true; } return false; @@ -34,4 +54,21 @@ public class Persistenz { ois.close(); return spiel; } + + /*------------------------------------------*/ + // Getter und Setter + /*------------------------------------------*/ + + /*------------------------------------------*/ + // @Overrides + /*------------------------------------------*/ + + /*------------------------------------------*/ + // öffentliche Methodes + /*------------------------------------------*/ + + /*------------------------------------------*/ + // Hilfsmethoden (privat) + /*------------------------------------------*/ + } diff --git a/Main.java b/Main.java index 856a560..515b424 100644 --- a/Main.java +++ b/Main.java @@ -13,6 +13,7 @@ public class Main { try { System.out.println("Lade daten"); spiel = (Spiel) Persistenz.ladeDaten(name); + System.out.println("laden erfolgreich"); } catch (IOException e) { System.out.println("Konnte file nicht laden."); System.out.println(e.getLocalizedMessage()); diff --git a/README.md b/README.md index 05e1cb8..98cc11e 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,8 @@ Gruppe Studienleistung bereits vorhanden ## Dopatka Regeln wie Klassen anzulegen sind +### Aufbau + 1. statische Konstante 2. statische Attribute(zB. zähler) 3. Attribute jedes Objektes @@ -21,6 +23,46 @@ Gruppe Studienleistung bereits vorhanden 8. öffentliche Methodes 9. Hilfsmethoden (privat) +### Template + +``` +/*------------------------------------------*/ +// statische Konstanten +/*------------------------------------------*/ + +/*------------------------------------------*/ +// statische Attribute(zB. zähler) +/*------------------------------------------*/ + +/*------------------------------------------*/ +// Attribute jedes Objektes +/*------------------------------------------*/ + +/*------------------------------------------*/ +// Konstruktoren (default und spezifische) +/*------------------------------------------*/ + +/*------------------------------------------*/ +// statische Methoden +/*------------------------------------------*/ + +/*------------------------------------------*/ +// Getter und Setter +/*------------------------------------------*/ + +/*------------------------------------------*/ +// @Overrides +/*------------------------------------------*/ + +/*------------------------------------------*/ +// öffentliche Methodes +/*------------------------------------------*/ + +/*------------------------------------------*/ +// Hilfsmethoden (privat) +/*------------------------------------------*/ +``` + ## Für das Arbeiten mit geschützten Mainbranch Wenn Änderungen durchgeführt werden müssen, kann dieses nicht direkt auf dem main-Branch gepusht werden sondern muss mit einem Separatem Branch und Pull-Request durchgeführt werden. diff --git a/UI/SpielCLI.java b/UI/SpielCLI.java index 0052481..d1cb015 100644 --- a/UI/SpielCLI.java +++ b/UI/SpielCLI.java @@ -27,7 +27,8 @@ public class SpielCLI { System.out.println("Was sillst du tun"); System.out.println("--------Hauptmenü--------"); System.out.println("-1- Spiel starten"); - System.out.println("-2- Exit"); + System.out.println("-2- Spiel to String"); + System.out.println("-3- Exit"); int input = 0; @@ -42,6 +43,9 @@ public class SpielCLI { System.out.println("Noch nicht implementiert."); break; case 2: + System.out.println(spiel.toString()); + break; + case 3: break mainloop; case 0: System.out.println("Diese eingabe ist nicht vergeben.");