Getestet mit der Hashmap + Änderung, dass erst ein Spiel Objekt erstellt

wird, wenn imm Menü neues Spiel starten geklickt wird (vorher hat er mit
Start des Programms ein spiel Obkjekt aus der Spielsystem Klasse
erzeugt)
cedric
cedri 2022-11-17 15:44:07 +01:00
parent 063178edad
commit 04c39ad132
4 changed files with 101 additions and 12 deletions

View File

@ -1,14 +1,56 @@
package domain; package domain;
public class Spiel { import java.util.HashMap;
private String spielname;
public Spiel(String spielname) { public class Spiel {
this.spielname = spielname; private String spielstandName;
private HashMap<Integer, Character> spielbrett = new HashMap<>();
public Spiel(String spielstandName) {
this.spielstandName = spielstandName;
} }
public String getSpielname() { public String getSpielstandName() {
return spielname; return spielstandName;
}
//Erstellung Anfangsspielbrett mithilfe von Unicode Zeichen
public HashMap<Integer, Character> generiereSpielbrett() {
spielbrett.put(0, '\u0020');
spielbrett.put(1, '\u0031');
spielbrett.put(2, '\u0032');
spielbrett.put(3, '\u0033');
spielbrett.put(4, '\u0034');
spielbrett.put(5, '\u0035');
spielbrett.put(6, '\u0036');
spielbrett.put(7, '\u0037');
spielbrett.put(8, '\u0038');
spielbrett.put(9, '\u0039');
spielbrett.put(10, '\u0031');
spielbrett.put(11, '\u0020');
spielbrett.put(12, '\u0020');
spielbrett.put(13, '\u0020');
spielbrett.put(14, '\u25A1');
spielbrett.put(15, '\u25A1');
spielbrett.put(16, '\u25A1');
spielbrett.put(17, '\u0020');
spielbrett.put(18, '\u0020');
spielbrett.put(19, '\u0020');
spielbrett.put(20, '\u0032');
spielbrett.put(21, '\u0020');
spielbrett.put(22, '\u0020');
spielbrett.put(23, '\u0020');
spielbrett.put(24, '\u25A1');
spielbrett.put(25, '\u25A1');
spielbrett.put(26, '\u25A1');
spielbrett.put(27, '\u0020');
spielbrett.put(28, '\u0020');
spielbrett.put(29, '\u0020');
//System.out.println(spielbrett.values());
return spielbrett;
} }
} }

View File

@ -0,0 +1,10 @@
package domain;
public class TestenFürFunktionen {
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}

View File

@ -1,17 +1,33 @@
package facade; package facade;
import java.util.ArrayList;
import java.util.HashMap;
import domain.Spiel; import domain.Spiel;
public class Spielsystem { public class Spielsystem {
private String spielname;
private Spiel spiel; private Spiel spiel;
//wird benötigt wenn mehrere Spiele angelegt werden sollen
//private ArrayList<Spiel> alleSpiele = new ArrayList<>();
public Spielsystem(String spielname) throws Exception { public Spielsystem(String spielname) throws Exception {
this.spiel = new Spiel(spielname); this.spielname = spielname;
} }
public String getSpielname() { public String getSpielname() {
return spiel.getSpielname(); return spielname;
} }
public HashMap<Integer, Character> spielAnlegen(String spielstandName) {
this.spiel = new Spiel(spielstandName);
HashMap<Integer, Character> spielbrett = spiel.generiereSpielbrett();
//wird benötigt wenn mehrere Spiele angelegt werden sollen
//alleSpiele.add(spiel);
return spielbrett;
}
} }

View File

@ -1,5 +1,6 @@
package ui; package ui;
import java.util.HashMap;
import java.util.Scanner; import java.util.Scanner;
import facade.Spielsystem; import facade.Spielsystem;
@ -21,8 +22,12 @@ public class UI {
System.out.println("--------"); System.out.println("--------");
System.out.println("Hauptmenü"); System.out.println("Hauptmenü");
System.out.println("1 -> Neues Spiel starten"); System.out.println("1 -> Neues Spiel starten");
//System.out.println("2 -> Alten Spielstand laden");
System.out.println("3 -> Regeln anzeigen");
//System.out.println("7 -> Highscore anzeigen");
System.out.println("8 -> Credits anzeigen");
System.out.println("10 -> Beenden"); System.out.println("9 -> Beenden");
System.out.println(); System.out.println();
System.out.print("> "); System.out.print("> ");
@ -53,7 +58,23 @@ public class UI {
// hauptmenü // hauptmenü
// case 1: // case 1:
private void spielStarten() { private void spielStarten() {
// TODO Auto-generated method stub //Evtl. wichtig für später, um Spielstände anzulegen und zu persistieren
System.out.println("Bitte vergeben Sie Ihren Spielstand einen Namen: ");
String spielstandName = sc.nextLine();
HashMap<Integer, Character> spielbrett = spielsystem.spielAnlegen(spielstandName);
//Spielbrett ausgeben
int zähler = 0;
for (int i = 0; i < spielbrett.size(); i++) {
if (zähler == 9) {
System.out.println(spielbrett.get(i));
zähler = 0;
} else {
System.out.print(spielbrett.get(i) + " ");
zähler++;
}
}
} }