From 04c39ad1324d1953702968af97c828731317851e Mon Sep 17 00:00:00 2001 From: cedri Date: Thu, 17 Nov 2022 15:44:07 +0100 Subject: [PATCH] =?UTF-8?q?Getestet=20mit=20der=20Hashmap=20+=20=C3=84nder?= =?UTF-8?q?ung,=20dass=20erst=20ein=20Spiel=20Objekt=20erstellt=20wird,=20?= =?UTF-8?q?wenn=20imm=20Men=C3=BC=20neues=20Spiel=20starten=20geklickt=20w?= =?UTF-8?q?ird=20(vorher=20hat=20er=20mit=20Start=20des=20Programms=20ein?= =?UTF-8?q?=20spiel=20Obkjekt=20aus=20der=20Spielsystem=20Klasse=20erzeugt?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/domain/Spiel.java | 52 ++++++++++++++++++++++++++--- src/domain/TestenFürFunktionen.java | 10 ++++++ src/facade/Spielsystem.java | 26 ++++++++++++--- src/ui/UI.java | 25 ++++++++++++-- 4 files changed, 101 insertions(+), 12 deletions(-) create mode 100644 src/domain/TestenFürFunktionen.java diff --git a/src/domain/Spiel.java b/src/domain/Spiel.java index 4622cc7..191c661 100644 --- a/src/domain/Spiel.java +++ b/src/domain/Spiel.java @@ -1,14 +1,56 @@ package domain; +import java.util.HashMap; + public class Spiel { - private String spielname; + private String spielstandName; + private HashMap spielbrett = new HashMap<>(); - public Spiel(String spielname) { - this.spielname = spielname; + public Spiel(String spielstandName) { + this.spielstandName = spielstandName; } - public String getSpielname() { - return spielname; + public String getSpielstandName() { + return spielstandName; + } + + //Erstellung Anfangsspielbrett mithilfe von Unicode Zeichen + public HashMap 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; + } } diff --git a/src/domain/TestenFürFunktionen.java b/src/domain/TestenFürFunktionen.java new file mode 100644 index 0000000..9fec3ec --- /dev/null +++ b/src/domain/TestenFürFunktionen.java @@ -0,0 +1,10 @@ +package domain; + +public class TestenFürFunktionen { + + public static void main(String[] args) { + // TODO Auto-generated method stub + + } + +} diff --git a/src/facade/Spielsystem.java b/src/facade/Spielsystem.java index be6201c..bf44f6b 100644 --- a/src/facade/Spielsystem.java +++ b/src/facade/Spielsystem.java @@ -1,17 +1,33 @@ package facade; +import java.util.ArrayList; +import java.util.HashMap; + import domain.Spiel; public class Spielsystem { + private String spielname; + private Spiel spiel; + //wird benötigt wenn mehrere Spiele angelegt werden sollen + //private ArrayList alleSpiele = new ArrayList<>(); public Spielsystem(String spielname) throws Exception { - this.spiel = new Spiel(spielname); - } - - public String getSpielname() { - return spiel.getSpielname(); + this.spielname = spielname; } + public String getSpielname() { + return spielname; + } + + public HashMap spielAnlegen(String spielstandName) { + this.spiel = new Spiel(spielstandName); + HashMap spielbrett = spiel.generiereSpielbrett(); + + //wird benötigt wenn mehrere Spiele angelegt werden sollen + //alleSpiele.add(spiel); + + return spielbrett; + } } diff --git a/src/ui/UI.java b/src/ui/UI.java index e1aa1f2..4d6d408 100644 --- a/src/ui/UI.java +++ b/src/ui/UI.java @@ -1,5 +1,6 @@ package ui; +import java.util.HashMap; import java.util.Scanner; import facade.Spielsystem; @@ -21,8 +22,12 @@ public class UI { System.out.println("--------"); System.out.println("Hauptmenü"); 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.print("> "); @@ -53,7 +58,23 @@ public class UI { // hauptmenü // case 1: 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 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++; + } + } }