From 0ce6fe08a844a0a6f282c5038dc14a495466f59b Mon Sep 17 00:00:00 2001 From: cedri Date: Tue, 29 Nov 2022 13:23:12 +0100 Subject: [PATCH] =?UTF-8?q?Aufr=C3=A4umarbeiten=20und=20einheitlichen=20St?= =?UTF-8?q?and=20generiert=20f=C3=BCr=20alle?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/domain/BotEasyHenne.java | 2 +- src/domain/Fuchs.java | 6 +++--- src/domain/Hennen.java | 13 +++++++++---- src/domain/Spiel.java | 37 ++++++------------------------------ src/domain/Spielfigur.java | 8 ++++---- src/facade/Spielsystem.java | 6 +++--- src/main/Main.java | 28 ++------------------------- src/ui/UI.java | 8 +++++--- 8 files changed, 33 insertions(+), 75 deletions(-) diff --git a/src/domain/BotEasyHenne.java b/src/domain/BotEasyHenne.java index b58728d..dae4272 100644 --- a/src/domain/BotEasyHenne.java +++ b/src/domain/BotEasyHenne.java @@ -7,7 +7,7 @@ public class BotEasyHenne extends Bot { // muss dann vielleicht noch an die neue Schreibweise des Arrays angepasst werden @Override - public String zugBestimmen() { + public String zugBestimmen(Spiel spiel, Hennen henne) { String zug; char[][] spielbrettArray = Spiel.getSpielbrettArray(); ArrayList spielfigurExistiert = new ArrayList<>(); diff --git a/src/domain/Fuchs.java b/src/domain/Fuchs.java index 8a2ac11..4ec4468 100644 --- a/src/domain/Fuchs.java +++ b/src/domain/Fuchs.java @@ -1,13 +1,13 @@ package domain; public class Fuchs extends Spielfigur { - + public Fuchs() { } - // public boolean isValidMove(String zug) { - public static boolean isValidMove(String zug) { + public boolean isValidMove(String zug, Spiel spiel) { +// public static boolean isValidMove(String zug) { System.out.println("Fuchsmethode aufgerufen"); return false; diff --git a/src/domain/Hennen.java b/src/domain/Hennen.java index c9bd708..205e827 100644 --- a/src/domain/Hennen.java +++ b/src/domain/Hennen.java @@ -7,10 +7,11 @@ public class Hennen extends Spielfigur { } // generell sehr fehleranfällig, mit Regex Filter Struktur vom String vorgeben - public static boolean isValidMove(String zug) { + public boolean isValidMove(String zug, Spiel spiel) { + char[][] spielbrettArray = new char[10][10];; + spielbrettArray = spiel.getSpielbrettArray(); //Form vom Zug: "5,5 4,5" - //Zug wurde getätigt.... //Werte als Char char startKoordinate1 = zug.charAt(0); @@ -24,14 +25,18 @@ public class Hennen extends Spielfigur { int zielKoord1 = Character.getNumericValue(zielKoordinate1); int zielKoord2 = Character.getNumericValue(zielKoordinate2); - int[] neueStartKoords = Spiel.wandelPassendUm(startKoord1, startKoord2); - int[] neueZielKoords = Spiel.wandelPassendUm(zielKoord1, zielKoord2); + int[] neueStartKoords = spiel.wandelPassendUm(startKoord1, startKoord2); + int[] neueZielKoords = spiel.wandelPassendUm(zielKoord1, zielKoord2); //Werte angepasst auf unser Board int neueStartX = neueStartKoords[0]; int neueStartY = neueStartKoords[1]; int neueZielX = neueZielKoords[0]; int neueZielY = neueZielKoords[1]; + + + //Fehler Spielsymbol beim Start oder Zeil falsch + if (spielbrettArray[neueStartX][neueStartY] != 'X') diff --git a/src/domain/Spiel.java b/src/domain/Spiel.java index 31f0137..c8ff6d0 100644 --- a/src/domain/Spiel.java +++ b/src/domain/Spiel.java @@ -2,42 +2,19 @@ package domain; import java.util.HashMap; -public class Spiel { +public class Spiel { private String spielname; - // private char[][] spielbrettArray = new char[10][10]; - private static char[][] spielbrettArray = new char[10][10]; + private char[][] spielbrettArray = new char[10][10]; public Spiel(String spielname) { this.spielname = spielname; - // this.spielbrett = generiereSpielbrett(); - // this.spielbrettArray = generiereSpielbrettArray(); - Spiel.spielbrettArray = generiereSpielbrett(); + this.spielbrettArray = generiereSpielbrett(); } - public void printBoard() { - // 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++; - // } - // } - // System.out.println(); - -// for ( int zeile = 0; zeile < spielbrettArray.length; zeile++ ) -// { -// System.out.print("Zeile " + zeile + ": "); -// for ( int spalte=0; spalte < spielbrettArray[zeile].length; spalte++ ) -// System.out.print( spielbrettArray[zeile][spalte] + " "); -// System.out.println(); -// } - + public void printBoard() { for (int i = 0; i < spielbrettArray.length; i++) { for (int j = 0; j < spielbrettArray[i].length; j++) { System.out.print(spielbrettArray[i][j] + " "); @@ -48,7 +25,6 @@ public class Spiel { public char[][] generiereSpielbrett() { - // public HashMap generiereSpielbrett() { // O=Fuchs, X=Henne, \u25A1=ein Kasten spielbrettArray[0][0] = '8'; @@ -160,18 +136,17 @@ public class Spiel { spielbrettArray[9][7] = '6'; spielbrettArray[9][8] = '7'; spielbrettArray[9][9] = '8'; - return spielbrettArray; } - public static char[][] getSpielbrettArray() { + public char[][] getSpielbrettArray() { return spielbrettArray; } - public static int[] wandelPassendUm(int umwandeln1, int umwandeln2) { + public int[] wandelPassendUm(int umwandeln1, int umwandeln2) { // Erlaubte Koordinaten sind: // 3,0 / 4,0 / 5,0 - 3,1 / 4,1 / 5,1 - 3,2 / 4,2 / 5,2 // 0,3 / 1,3 / 2,3 / 3,3 / 4,3 / 5,3 / 6,3 / 7,3 / 8,3 diff --git a/src/domain/Spielfigur.java b/src/domain/Spielfigur.java index 55c1a9c..0dc4cf9 100644 --- a/src/domain/Spielfigur.java +++ b/src/domain/Spielfigur.java @@ -2,10 +2,10 @@ package domain; public abstract class Spielfigur { -// public abstract boolean isValidMove(String zug); - public static boolean isValidMove(String zug) { - return false; - } + public abstract boolean isValidMove(String zug, Spiel spiel); +// public static boolean isValidMove(String zug) { +// return false; +// } public void moveSpielfigur(String zug) { diff --git a/src/facade/Spielsystem.java b/src/facade/Spielsystem.java index c1b8050..a97abf4 100644 --- a/src/facade/Spielsystem.java +++ b/src/facade/Spielsystem.java @@ -111,9 +111,9 @@ public class Spielsystem { // vorerst wird es ignoriert das static verlangt wird public boolean isValidMove(String zug) { if(aktiverSpieler == true) { - return spieler.isValidMove(zug); + return spieler.isValidMove(zug, spiel); } else { - return computer.isValidMove(zug); + return computer.isValidMove(zug, spiel); } } @@ -122,7 +122,7 @@ public class Spielsystem { } public void myMove(String zug) { - + } public void moveSpielfigur(String zug) { diff --git a/src/main/Main.java b/src/main/Main.java index 5334700..f01db3e 100644 --- a/src/main/Main.java +++ b/src/main/Main.java @@ -1,6 +1,5 @@ package main; -import domain.Spiel; import facade.Spielsystem; import ui.UI; @@ -8,31 +7,8 @@ public class Main { @SuppressWarnings("unused") public static void main(String[] args) throws Exception { - //Spielsystem spielsystem = new Spielsystem("Hennen und Füchse"); - //UI ui = new UI(spielsystem); - - Spiel spiel = new Spiel ("Test"); - spiel.generiereSpielbrett(); - spiel.printBoard(); - - - String zug = "5,5 5,6"; - - char startKoordinate1 = zug.charAt(0); - char startKoordinate2 = zug.charAt(2); - char zielKoordinate1 = zug.charAt(4); - char zielKoordinate2 = zug.charAt(6); - - int startKoord1 = Character.getNumericValue(startKoordinate1); - int startKoord2 = Character.getNumericValue(startKoordinate2); - int zielKoord1 = Character.getNumericValue(zielKoordinate1); - int zielKoord2 = Character.getNumericValue(zielKoordinate2); - startKoord2 = startKoord2 %8; - - System.out.println(startKoord1); - System.out.println(startKoord2); - System.out.println(zielKoord1); - System.out.println(zielKoord2); + Spielsystem spielsystem = new Spielsystem("Hennen und Füchse"); + UI ui = new UI(spielsystem); } diff --git a/src/ui/UI.java b/src/ui/UI.java index 7bd97f7..b45362a 100644 --- a/src/ui/UI.java +++ b/src/ui/UI.java @@ -133,7 +133,8 @@ public class UI { int kiLevel = Integer.parseInt(sc.nextLine()); System.out.println(); - spielsystem.start(werBeginnt, kiLevel); + spielsystem.start(werBeginnt, kiLevel); + start(werBeginnt, kiLevel); } @@ -164,6 +165,7 @@ public class UI { System.out.println("Das Startspielbrett sieht wie folgt aus:"); System.out.println(); spielsystem.printBoard(); + System.out.println(); do { // Zug Henne KI @@ -201,7 +203,7 @@ public class UI { } } while (erfolgreicherZug == false); - spielsystem.getHenne().moveSpielfigur(zug); + spielsystem.moveSpielfigur(zug); zugHenne = false; zugFuchs = true; } @@ -226,7 +228,7 @@ public class UI { } } while (erfolgreicherZug == false); - spielsystem.getFuchs().moveSpielfigur(zug); + spielsystem.moveSpielfigur(zug); zugHenne = true; zugFuchs = false; }