Almost done with implementing bitboards. Reversi is broken and artifical players don't work yet.

This commit is contained in:
2025-12-04 14:19:48 +01:00
parent f4ee992166
commit 21b489bbe7
21 changed files with 804 additions and 286 deletions

View File

@@ -0,0 +1,7 @@
package org.toop.framework.gameFramework.controller;
import org.toop.framework.gameFramework.model.game.SupportsOnlinePlay;
import org.toop.framework.gameFramework.model.game.threadBehaviour.Controllable;
public interface GameController extends Controllable, SupportsOnlinePlay, UpdatesGameUI {
}

View File

@@ -14,7 +14,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
* a running flag, a game reference, and a logger.
* Subclasses implement the actual game-loop logic.
*/
public abstract class AbstractThreadBehaviour<T extends TurnBasedGame<T>> implements ThreadBehaviour<T> {
public abstract class AbstractThreadBehaviour<T extends TurnBasedGame<T>> implements ThreadBehaviour {
/** Indicates whether the game loop or event processing is active. */
protected final AtomicBoolean isRunning = new AtomicBoolean();

View File

@@ -9,5 +9,5 @@ import org.toop.framework.gameFramework.model.player.Player;
* <p>
* Defines how a game's execution is started, stopped, and which player is active.
*/
public interface ThreadBehaviour<T extends TurnBasedGame<T>> extends Controllable {
public interface ThreadBehaviour extends Controllable {
}

View File

@@ -12,6 +12,7 @@ import org.toop.framework.gameFramework.model.game.TurnBasedGame;
*
* @param <T> the specific type of game this AI can play, extending {@link GameR}
*/
public abstract class AbstractAI<T extends TurnBasedGame> implements MoveProvider<T> {
@Deprecated
public abstract class AbstractAI<T extends TurnBasedGame<T>> implements MoveProvider<T> {
// Concrete AI implementations should override findBestMove(T game, int depth)
}