Aufräumarbeiten und einheitlichen Stand generiert für alle

pull/5/head
cedri 2022-11-29 13:23:12 +01:00
parent f2842fa621
commit 0ce6fe08a8
8 changed files with 33 additions and 75 deletions

View File

@ -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<String> spielfigurExistiert = new ArrayList<>();

View File

@ -6,8 +6,8 @@ public class Fuchs extends Spielfigur {
}
// 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;

View File

@ -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,8 +25,8 @@ 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];
@ -34,6 +35,10 @@ public class Hennen extends Spielfigur {
int neueZielY = neueZielKoords[1];
//Fehler Spielsymbol beim Start oder Zeil falsch
if (spielbrettArray[neueStartX][neueStartY] != 'X')
System.out.println("Hennenmethode aufgerufen");
// return false;

View File

@ -5,39 +5,16 @@ import java.util.HashMap;
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();
// }
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<Integer, Character> generiereSpielbrett() {
// O=Fuchs, X=Henne, \u25A1=ein Kasten
spielbrettArray[0][0] = '8';
@ -161,17 +137,16 @@ public class Spiel {
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

View File

@ -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) {

View File

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

View File

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

View File

@ -134,6 +134,7 @@ public class UI {
System.out.println();
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;
}