From 6ea94fe6584df0b4729bac5355537425ffd57e0b Mon Sep 17 00:00:00 2001 From: Stef Date: Thu, 27 Nov 2025 17:42:39 +0100 Subject: [PATCH 1/2] Fixed compilation errors --- .../org/toop/app/game/BaseGameThread.java | 5 +-- .../java/org/toop/app/game/ReversiGame.java | 6 ++-- .../java/org/toop/app/game/TicTacToeGame.java | 8 ++--- .../toop/app/game/TicTacToeGameThread.java | 33 ++++++++++--------- 4 files changed, 27 insertions(+), 25 deletions(-) diff --git a/app/src/main/java/org/toop/app/game/BaseGameThread.java b/app/src/main/java/org/toop/app/game/BaseGameThread.java index f9178da..a375a8e 100644 --- a/app/src/main/java/org/toop/app/game/BaseGameThread.java +++ b/app/src/main/java/org/toop/app/game/BaseGameThread.java @@ -6,6 +6,7 @@ import org.toop.app.widget.view.GameView; import org.toop.framework.eventbus.EventFlow; import org.toop.framework.networking.events.NetworkEvents; import org.toop.game.Game; +import org.toop.game.records.Move; import java.util.concurrent.BlockingQueue; import java.util.concurrent.LinkedBlockingQueue; @@ -18,7 +19,7 @@ public abstract class BaseGameThread { protected final GameInformation information; protected final int myTurn; protected final Runnable onGameOver; - protected final BlockingQueue moveQueue; + protected final BlockingQueue moveQueue; protected final TGame game; protected final TAI ai; @@ -84,7 +85,7 @@ public abstract class BaseGameThread { final char value = getSymbolForTurn(currentTurn); try { - moveQueue.put(new Game.Move(cell, value)); + moveQueue.put(new Move(cell, value)); } catch (InterruptedException _) {} } diff --git a/app/src/main/java/org/toop/app/game/ReversiGame.java b/app/src/main/java/org/toop/app/game/ReversiGame.java index b70e6ab..75df36f 100644 --- a/app/src/main/java/org/toop/app/game/ReversiGame.java +++ b/app/src/main/java/org/toop/app/game/ReversiGame.java @@ -27,7 +27,7 @@ public final class ReversiGame { private final int myTurn; private final Runnable onGameOver; - private final BlockingQueue moveQueue; + private final BlockingQueue moveQueue; private final Reversi game; private final ReversiAI ai; @@ -213,7 +213,7 @@ public final class ReversiGame { primary.gameOver(false, information.players[1].name); gameOver(); } - } else if (state == Game.State.DRAW) { + } else if (state == GameState.DRAW) { primary.gameOver(false, ""); game.play(move); } @@ -289,7 +289,7 @@ public final class ReversiGame { if (information.players[game.getCurrentTurn()].isHuman) { final Move[] legalMoves = game.getLegalMoves(); - for (final Game.Move legalMove : legalMoves) { + for (final Move legalMove : legalMoves) { canvas.drawLegalPosition(legalMove.position(), game.getCurrentPlayer()); } } diff --git a/app/src/main/java/org/toop/app/game/TicTacToeGame.java b/app/src/main/java/org/toop/app/game/TicTacToeGame.java index 427d09f..f808446 100644 --- a/app/src/main/java/org/toop/app/game/TicTacToeGame.java +++ b/app/src/main/java/org/toop/app/game/TicTacToeGame.java @@ -25,7 +25,7 @@ public final class TicTacToeGame { private final int myTurn; private final Runnable onGameOver; - private final BlockingQueue moveQueue; + private final BlockingQueue moveQueue; private final TicTacToe game; private final TicTacToeAI ai; @@ -152,10 +152,10 @@ public final class TicTacToeGame { canvas.drawO(Color.ROYALBLUE, move.position()); } - if (state != Game.State.NORMAL) { - if (state == Game.State.WIN) { + if (state != GameState.NORMAL) { + if (state == GameState.WIN) { primary.gameOver(true, information.players[currentTurn].name); - } else if (state == Game.State.DRAW) { + } else if (state == GameState.DRAW) { primary.gameOver(false, ""); } diff --git a/app/src/main/java/org/toop/app/game/TicTacToeGameThread.java b/app/src/main/java/org/toop/app/game/TicTacToeGameThread.java index a71bf07..262f3e1 100644 --- a/app/src/main/java/org/toop/app/game/TicTacToeGameThread.java +++ b/app/src/main/java/org/toop/app/game/TicTacToeGameThread.java @@ -5,7 +5,8 @@ import org.toop.app.GameInformation; import org.toop.app.canvas.TicTacToeCanvas; import org.toop.framework.eventbus.EventFlow; import org.toop.framework.networking.events.NetworkEvents; -import org.toop.game.Game; +import org.toop.game.enumerators.GameState; +import org.toop.game.records.Move; import org.toop.game.tictactoe.TicTacToe; import org.toop.game.tictactoe.TicTacToeAI; @@ -47,7 +48,7 @@ public final class TicTacToeGameThread extends BaseGameThread Date: Thu, 27 Nov 2025 18:37:34 +0100 Subject: [PATCH 2/2] Changed the way turns are being stored in TurnBasedGame. --- .../main/java/org/toop/game/TurnBasedGame.java | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/game/src/main/java/org/toop/game/TurnBasedGame.java b/game/src/main/java/org/toop/game/TurnBasedGame.java index 4746f56..2e51519 100644 --- a/game/src/main/java/org/toop/game/TurnBasedGame.java +++ b/game/src/main/java/org/toop/game/TurnBasedGame.java @@ -1,26 +1,25 @@ package org.toop.game; public abstract class TurnBasedGame extends Game { - private final int turns; - private int currentTurn; + private final int playerCount; // How many players are playing + private int turn = 0; // What turn it is in the game - protected TurnBasedGame(int rowSize, int columnSize, int turns) { + protected TurnBasedGame(int rowSize, int columnSize, int playerCount) { super(rowSize, columnSize); - assert turns >= 2; - this.turns = turns; + this.playerCount = playerCount; } protected TurnBasedGame(TurnBasedGame other) { super(other); - turns = other.turns; - currentTurn = other.currentTurn; + playerCount = other.playerCount; + turn = other.turn; } protected void nextTurn() { - currentTurn = (currentTurn + 1) % turns; + turn += 1; } public int getCurrentTurn() { - return currentTurn; + return turn % playerCount; } }