Merge branch 'main' into kts1

pull/33/head
Kai Sellmann 2023-10-12 08:22:55 +02:00
commit 4f56c98237
14 changed files with 317 additions and 22 deletions

BIN
.DS_Store vendored

Binary file not shown.

6
.gitignore vendored
View File

@ -4,5 +4,9 @@
# Object Data # Object Data
*.o *.o
# iml
*.iml
# Jar dateien # Jar dateien
/lib /lib
.idea

BIN
Bild 2.jpeg 100644

Binary file not shown.

After

Width:  |  Height:  |  Size: 951 KiB

BIN
Bild.jpeg 100644

Binary file not shown.

After

Width:  |  Height:  |  Size: 948 KiB

View File

@ -7,5 +7,12 @@ written on: 05 / 10 / 2023 at: 23:43
package Domain.Block; package Domain.Block;
public class Block { public class Block {
public void addZeile(){
}
public Blockzeile[] getDaten() {
return null;
}
//neues Kommentar
} }

View File

@ -7,14 +7,47 @@ written on: 05 / 10 / 2023 at: 23:44
package Domain.Block; package Domain.Block;
public class Blockzeile { public class Blockzeile {
/*------------------------------------------*/
// statische Konstanten
/*------------------------------------------*/
/*------------------------------------------*/
// statische Attribute(zB. zähler)
/*------------------------------------------*/
/*------------------------------------------*/
// Attribute jedes Objektes
/*------------------------------------------*/
private int rundenNummer; private int rundenNummer;
private Blockeintrag[] eintraege; private Blockeintrag[] eintraege;
/*------------------------------------------*/
// Konstruktoren (default und spezifische)
/*------------------------------------------*/
public Blockzeile(int rundenNummer, int spielerAnzahl) { public Blockzeile(int rundenNummer, int spielerAnzahl) {
this.rundenNummer = rundenNummer; this.rundenNummer = rundenNummer;
this.eintraege = new Blockeintrag[spielerAnzahl]; this.eintraege = new Blockeintrag[spielerAnzahl];
} }
/*------------------------------------------*/
// statische Methoden
/*------------------------------------------*/
/*------------------------------------------*/
// Getter und Setter
/*------------------------------------------*/
/*------------------------------------------*/
// @Overrides
/*------------------------------------------*/
/*------------------------------------------*/
// öffentliche Methodes
/*------------------------------------------*/
public void addEintrag(Blockeintrag be) { public void addEintrag(Blockeintrag be) {
for (int i = 0; i < eintraege.length; i++) { for (int i = 0; i < eintraege.length; i++) {
@ -22,10 +55,14 @@ public class Blockzeile {
eintraege[i] = be; eintraege[i] = be;
} }
} }
}; }
public Blockeintrag[] getDaten() { public Blockeintrag[] getDaten() {
return eintraege; return eintraege;
} }
/*------------------------------------------*/
// Hilfsmethoden (privat)
/*------------------------------------------*/
} }

View File

@ -8,4 +8,40 @@ package Domain.Karten;
public class Zahlenkarte extends Karte { 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)
/*------------------------------------------*/
} }

View File

@ -5,32 +5,75 @@ written on: 05 / 10 / 2023 at: 23:42
============================================================ ============================================================
*/ */
package Domain; package Domain;
import Domain.Karten.*; 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]; private Karte[] kartenStapel = new Karte[60];
//
/*------------------------------------------*/
// Konstruktoren (default und spezifische)
/*------------------------------------------*/
public Kartenstapel() { public Kartenstapel() {
}
public void mischen() {
} }
/*------------------------------------------*/
// statische Methoden
/*------------------------------------------*/
/*------------------------------------------*/
// Getter und Setter
/*------------------------------------------*/
/** /**
* Ausgabe des ersten Elements des Stapels. * Ausgabe des ersten Elements des Stapels.
*
* @return erstes Element * @return erstes Element
*/ */
public Karte getObersteKarte() { public Karte getObersteKarte() {
return kartenStapel[0]; return kartenStapel[0];
} }
/** /**
* Ausgabe der Stapelgroesse. * Ausgabe der Stapelgroesse.
*
* @return laenge des Kartenstapels-Arrays * @return laenge des Kartenstapels-Arrays
*/ */
public int getAnzahlKarten() { public int getAnzahlKarten() {
return kartenStapel.length; return kartenStapel.length;
} }
/*------------------------------------------*/
// @Overrides
/*------------------------------------------*/
/*------------------------------------------*/
// öffentliche Methoden
/*------------------------------------------*/
public void mischen() {
}
/*------------------------------------------*/
// Hilfsmethoden (privat)
/*------------------------------------------*/
//
} }

View File

@ -12,17 +12,25 @@ import java.io.Serializable;
public class Spieler implements 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 int id;
private String name; private String name;
private int vorhersage; private int vorhersage;
private Geschlecht geschlecht; private Geschlecht geschlecht;
// Konstruktoren /*------------------------------------------*/
// Konstruktoren (default und spezifische)
/*------------------------------------------*/
// Default // Default
/** /**
* Default Konstruktor des Spieler - Klasse * Default Konstruktor des Spieler - Klasse
@ -59,9 +67,13 @@ public class Spieler implements Serializable {
setVorhersage(vorhersage); setVorhersage(vorhersage);
} }
// Statische Methoden /*------------------------------------------*/
// statische Methoden
/*------------------------------------------*/
/*------------------------------------------*/
// Getter und Setter // Getter und Setter
/*------------------------------------------*/
// id // id
/** /**
* Setzt die ID des Spielers * Setzt die ID des Spielers
@ -140,7 +152,10 @@ public class Spieler implements Serializable {
return vorhersage; return vorhersage;
} }
/*------------------------------------------*/
// @Overrides // @Overrides
/*------------------------------------------*/
/** /**
* Überschreibt die toString methode für eine eigene Implementation um den * Überschreibt die toString methode für eine eigene Implementation um den
* Spieler als String zurück zu geben * 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 + ")"; return "ID: " + this.id + " Name: " + this.name + " (" + this.geschlecht + ")";
} }
/*------------------------------------------*/
// öffentliche Methodes
/*------------------------------------------*/
/*------------------------------------------*/
// Hilfsmethoden (privat)
/*------------------------------------------*/
} }

View File

@ -9,17 +9,37 @@ package Facade;
import java.io.Serializable; import java.io.Serializable;
import java.util.HashMap; import java.util.HashMap;
import Domain.Kartenstapel;
import Domain.Spieler; import Domain.Spieler;
import Domain.Block.Block;
import Domain.Enums.Geschlecht; import Domain.Enums.Geschlecht;
public class Spiel implements Serializable { public class Spiel implements Serializable {
/*--------------------------------------------------------*/
// statische Konstanten
/*--------------------------------------------------------*/
/*--------------------------------------------------------*/
// statische Attribute(zB. zähler)
/*--------------------------------------------------------*/
/*--------------------------------------------------------*/
// Attribute jedes Objektes
/*--------------------------------------------------------*/
private boolean istGestartet; private boolean istGestartet;
private boolean istBeendet; private boolean istBeendet;
private Spieler spielerAmZug; private Spieler spielerAmZug;
private int runde; private int runde;
private HashMap<Integer, Spieler> spieler = new HashMap<>(); private HashMap<Integer, Spieler> spieler = new HashMap<>();
private boolean[] id_check = { false, false, false, false, false, false }; private boolean[] id_check = { false, false, false, false, false, false };
private Kartenstapel kartenstapel;
private Block block;
/*--------------------------------------------------------*/
// Konstruktoren (default und spezifische)
/*--------------------------------------------------------*/
public Spiel() { public Spiel() {
this.istGestartet = false; this.istGestartet = false;
@ -27,6 +47,43 @@ public class Spiel implements Serializable {
this.spielerAmZug = null; this.spielerAmZug = null;
this.runde = 0; 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) { public void addSpieler(String name, Geschlecht geschlecht) {
int id = 1; int id = 1;
@ -55,7 +112,7 @@ public class Spiel implements Serializable {
} }
public String[] getSpielerAmZug() { public String[] getSpielerAmZug() {
return new String[0]; return new String[1];
} }
public boolean istSpielGestartet() { public boolean istSpielGestartet() {
@ -78,7 +135,7 @@ public class Spiel implements Serializable {
return this.runde; return this.runde;
} }
public void mischer() { public void mischen() {
} }
@ -94,4 +151,8 @@ public class Spiel implements Serializable {
} }
/*--------------------------------------------------------*/
// Hilfsmethoden (privat)
/*--------------------------------------------------------*/
} }

View File

@ -12,11 +12,31 @@ import java.io.*;
public class Persistenz { 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"); File f = new File(FILE_NAME + name + ".ser");
if(f.exists()){ if (f.exists()) {
return true; return true;
} }
return false; return false;
@ -34,4 +54,21 @@ public class Persistenz {
ois.close(); ois.close();
return spiel; return spiel;
} }
/*------------------------------------------*/
// Getter und Setter
/*------------------------------------------*/
/*------------------------------------------*/
// @Overrides
/*------------------------------------------*/
/*------------------------------------------*/
// öffentliche Methodes
/*------------------------------------------*/
/*------------------------------------------*/
// Hilfsmethoden (privat)
/*------------------------------------------*/
} }

View File

@ -13,6 +13,7 @@ public class Main {
try { try {
System.out.println("Lade daten"); System.out.println("Lade daten");
spiel = (Spiel) Persistenz.ladeDaten(name); spiel = (Spiel) Persistenz.ladeDaten(name);
System.out.println("laden erfolgreich");
} catch (IOException e) { } catch (IOException e) {
System.out.println("Konnte file nicht laden."); System.out.println("Konnte file nicht laden.");
System.out.println(e.getLocalizedMessage()); System.out.println(e.getLocalizedMessage());

View File

@ -11,6 +11,8 @@ Gruppe Studienleistung bereits vorhanden
## Dopatka Regeln wie Klassen anzulegen sind ## Dopatka Regeln wie Klassen anzulegen sind
### Aufbau
1. statische Konstante 1. statische Konstante
2. statische Attribute(zB. zähler) 2. statische Attribute(zB. zähler)
3. Attribute jedes Objektes 3. Attribute jedes Objektes
@ -21,6 +23,46 @@ Gruppe Studienleistung bereits vorhanden
8. öffentliche Methodes 8. öffentliche Methodes
9. Hilfsmethoden (privat) 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 ## 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. 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.

View File

@ -27,7 +27,8 @@ public class SpielCLI {
System.out.println("Was sillst du tun"); System.out.println("Was sillst du tun");
System.out.println("--------Hauptmenü--------"); System.out.println("--------Hauptmenü--------");
System.out.println("-1- Spiel starten"); 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; int input = 0;
@ -42,6 +43,9 @@ public class SpielCLI {
System.out.println("Noch nicht implementiert."); System.out.println("Noch nicht implementiert.");
break; break;
case 2: case 2:
System.out.println(spiel.toString());
break;
case 3:
break mainloop; break mainloop;
case 0: case 0:
System.out.println("Diese eingabe ist nicht vergeben."); System.out.println("Diese eingabe ist nicht vergeben.");