Fixed local and online play for both games

This commit is contained in:
2025-12-04 20:50:58 +01:00
parent be57e25a48
commit 86e740a34a
6 changed files with 42 additions and 42 deletions

View File

@@ -1,15 +1,12 @@
package org.toop.app.gameControllers;
import org.toop.app.canvas.GameCanvas;
import org.toop.app.canvas.ReversiBitCanvas;
import org.toop.framework.gameFramework.model.game.SupportsOnlinePlay;
import org.toop.framework.gameFramework.model.game.threadBehaviour.ThreadBehaviour;
import org.toop.framework.gameFramework.model.player.Player;
import org.toop.game.gameThreads.LocalFixedRateThreadBehaviour;
import org.toop.game.gameThreads.LocalThreadBehaviour;
import org.toop.game.gameThreads.OnlineThreadBehaviour;
import org.toop.game.gameThreads.OnlineWithSleepThreadBehaviour;
import org.toop.game.games.reversi.BitboardReversi;
import org.toop.game.games.tictactoe.BitboardTicTacToe;
import org.toop.game.players.OnlinePlayer;
public class ReversiBitController extends GenericGameController<BitboardReversi> {
@@ -18,7 +15,7 @@ public class ReversiBitController extends GenericGameController<BitboardReversi>
ThreadBehaviour thread = new LocalThreadBehaviour<>(game);
for (Player<BitboardReversi> player : players) {
if (player instanceof OnlinePlayer<BitboardReversi>){
thread = new OnlineWithSleepThreadBehaviour<>(game);
thread = new OnlineThreadBehaviour<>(game);
}
}
super(new ReversiBitCanvas(), game, thread, "Reversi");

View File

@@ -1,10 +1,9 @@
package org.toop.app.gameControllers;
import org.toop.app.canvas.GameCanvas;
import org.toop.app.canvas.TicTacToeBitCanvas;
import org.toop.framework.gameFramework.model.game.SupportsOnlinePlay;
import org.toop.framework.gameFramework.model.game.threadBehaviour.ThreadBehaviour;
import org.toop.framework.gameFramework.model.player.Player;
import org.toop.game.gameThreads.LocalFixedRateThreadBehaviour;
import org.toop.game.gameThreads.LocalThreadBehaviour;
import org.toop.game.gameThreads.OnlineThreadBehaviour;
import org.toop.game.gameThreads.OnlineWithSleepThreadBehaviour;
@@ -17,7 +16,7 @@ public class TicTacToeBitController extends GenericGameController<BitboardTicTac
ThreadBehaviour thread = new LocalThreadBehaviour<>(game);
for (Player<BitboardTicTacToe> player : players) {
if (player instanceof OnlinePlayer<BitboardTicTacToe>){
thread = new OnlineWithSleepThreadBehaviour<>(game);
thread = new OnlineThreadBehaviour<>(game);
}
}
super(new TicTacToeBitCanvas(), game, thread , "TicTacToe");

View File

@@ -5,6 +5,8 @@ import org.toop.app.GameInformation;
import org.toop.app.canvas.ReversiBitCanvas;
import org.toop.app.canvas.TicTacToeBitCanvas;
import org.toop.app.gameControllers.GenericGameController;
import org.toop.app.gameControllers.ReversiBitController;
import org.toop.app.gameControllers.TicTacToeBitController;
import org.toop.framework.gameFramework.controller.GameController;
import org.toop.framework.gameFramework.model.player.Player;
import org.toop.game.gameThreads.LocalThreadBehaviour;
@@ -70,20 +72,17 @@ public class LocalMultiplayerView extends ViewWidget {
if (AppSettings.getSettings().getTutorialFlag() && AppSettings.getSettings().getFirstTTT()) {
new ShowEnableTutorialWidget(
() -> new TicTacToeTutorialWidget(() -> {
BitboardTicTacToe game = new BitboardTicTacToe(players); // TODO: ThreadBehaviour might need to be created by game idk
gameController = new GenericGameController<BitboardTicTacToe>(new TicTacToeBitCanvas(), game, new LocalThreadBehaviour<BitboardTicTacToe>(game), "TicTacToe");
gameController = new TicTacToeBitController(players);
gameController.start();
}),
() -> Platform.runLater(() -> {
BitboardTicTacToe game = new BitboardTicTacToe(players); // TODO: ThreadBehaviour might need to be created by game idk
gameController = new GenericGameController<BitboardTicTacToe>(new TicTacToeBitCanvas(), game, new LocalThreadBehaviour<BitboardTicTacToe>(game), "TicTacToe");
gameController = new TicTacToeBitController(players);
gameController.start();
}),
() -> AppSettings.getSettings().setFirstTTT(false)
);
} else {
BitboardTicTacToe game = new BitboardTicTacToe(players); // TODO: ThreadBehaviour might need to be created by game idk
gameController = new GenericGameController<BitboardTicTacToe>(new TicTacToeBitCanvas(), game, new LocalThreadBehaviour<BitboardTicTacToe>(game), "TicTacToe");
gameController = new TicTacToeBitController(players);
gameController.start();
}
break;
@@ -101,20 +100,17 @@ public class LocalMultiplayerView extends ViewWidget {
if (AppSettings.getSettings().getTutorialFlag() && AppSettings.getSettings().getFirstReversi()) {
new ShowEnableTutorialWidget(
() -> new ReversiTutorialWidget(() -> {
BitboardReversi game = new BitboardReversi(players);
gameController = new GenericGameController<>(new ReversiBitCanvas(), game, new LocalThreadBehaviour<>(game), "Reversi");
gameController = new ReversiBitController(players);
gameController.start();
}),
() -> Platform.runLater(() -> {
BitboardReversi game = new BitboardReversi(players);
gameController = new GenericGameController<>(new ReversiBitCanvas(), game, new LocalThreadBehaviour<>(game), "Reversi");
gameController = new ReversiBitController(players);
gameController.start();
}),
() -> AppSettings.getSettings().setFirstReversi(false)
);
} else {
BitboardReversi game = new BitboardReversi(players);
gameController = new GenericGameController<>(new ReversiBitCanvas(), game, new LocalThreadBehaviour<>(game), "Reversi");
gameController = new ReversiBitController(players);
gameController.start();
}
break;