Skip to content
Snippets Groups Projects
Commit e46e06dd authored by Jan's avatar Jan Committed by Nick
Browse files

implemented enemy player

parent fde6b5d2
No related branches found
No related tags found
1 merge request!2Fehler fix
......@@ -10,12 +10,12 @@ import java.util.List;
public class SceneController {
private Board board;
private Actor player;
private Actor enemy;
private Player player;
private Enemy enemy;
public boolean playerTurn = true;
public void initData(Board board, Actor player, Actor enemy) {
public void initData(Board board, Player player, Enemy enemy) {
this.board = board;
this.player = player;
this.enemy = enemy;
......
......@@ -10,6 +10,7 @@ public class TicTacToe extends Application {
private static Board board;
private static final Actor player = new Player();
private static final Actor enemy = new Enemy();
private static SceneController sceneController;
public void startGame(){
board = new Board();
......@@ -24,8 +25,8 @@ public class TicTacToe extends Application {
Parent root = loader.load();
// Controller-Instanz holen und initialisieren
SceneController controller = loader.getController();
controller.initData(board, player, enemy); // Übergabe der Logik-Klassen
sceneController = loader.getController();
sceneController.initData(board, player, enemy); // Übergabe der Logik-Klassen
Scene scene = new Scene(root, 800, 600);
primaryStage.setTitle("Tic Tac Toe");
......@@ -43,6 +44,15 @@ public class TicTacToe extends Application {
while (!board.checkForWin()){
if (sceneController.playerTurn) {
// TODO Spieler ist am Zug
continue;
} else {
// TODO Gegner ist am Zug
}
// TODO Spielablauf
}
......
package logic;
import java.util.Random;
public interface Actor {
char symbol = '?';
public char getSymbol();
public void setSymbol(char symbol);
// Methode, um den nächsten Zug des Akteurs zu machen
default boolean makeMove(Board board, int x, int y) {
return board.placeToken(x, y, symbol);
}
......
package logic;
import java.util.Random;
public class Enemy implements Actor {
public char symbol;
public Enemy() {
......@@ -16,5 +18,16 @@ public class Enemy implements Actor {
this.symbol = symbol;
}
// Methode, um den nächsten Zug des Akteurs zu machen
public boolean enemyMove(Board board) {
Random random = new Random();
int x;
int y;
do {
x = random.nextInt(3);
y = random.nextInt(3);
} while (!board.placeToken(x, y, symbol));
return true;
}
}
......@@ -16,6 +16,10 @@ public class Player implements Actor {
this.symbol = symbol;
}
// Methode, um den nächsten Zug des Akteurs zu machen
public boolean makeMove(Board board, int x, int y) {
return board.placeToken(x, y, symbol);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment