1
0
Fork 0

Merge branch 'main' into kts_desktop

Kai Sellmann 2023-10-11 18:53:36 +02:00
commit 5858c3f14e
11 changed files with 317 additions and 22 deletions

6
.gitignore vendored
View File

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

View File

@ -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
}

View File

@ -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)
/*------------------------------------------*/
}

View File

@ -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)
/*------------------------------------------*/
}

View File

@ -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)
/*------------------------------------------*/
//
}

View File

@ -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)
/*------------------------------------------*/
}

View File

@ -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<Integer, Spieler> 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)
/*--------------------------------------------------------*/
}

View File

@ -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)
/*------------------------------------------*/
}

View File

@ -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());

View File

@ -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.

View File

@ -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.");