From 13bac113b722d47c32b6be0b78ef42d371510fc0 Mon Sep 17 00:00:00 2001 From: Stef Date: Wed, 29 Oct 2025 14:37:31 +0100 Subject: [PATCH] Turned abstract methods into an interface --- game/src/main/java/org/toop/game/Game.java | 8 ++------ .../src/main/java/org/toop/game/interfaces/Playable.java | 9 +++++++++ 2 files changed, 11 insertions(+), 6 deletions(-) create mode 100644 game/src/main/java/org/toop/game/interfaces/Playable.java diff --git a/game/src/main/java/org/toop/game/Game.java b/game/src/main/java/org/toop/game/Game.java index fb04916..02856d8 100644 --- a/game/src/main/java/org/toop/game/Game.java +++ b/game/src/main/java/org/toop/game/Game.java @@ -1,10 +1,10 @@ package org.toop.game; -import org.toop.game.enumerators.GameState; +import org.toop.game.interfaces.Playable; import java.util.Arrays; -public abstract class Game { +public abstract class Game implements Playable { public record Move(int position, char value) {} public static final char EMPTY = (char)0; @@ -28,8 +28,4 @@ public abstract class Game { columnSize = other.columnSize; board = Arrays.copyOf(other.board, other.board.length); } - - public abstract Move[] getLegalMoves(); - - public abstract GameState play(Move move); } diff --git a/game/src/main/java/org/toop/game/interfaces/Playable.java b/game/src/main/java/org/toop/game/interfaces/Playable.java new file mode 100644 index 0000000..cea5217 --- /dev/null +++ b/game/src/main/java/org/toop/game/interfaces/Playable.java @@ -0,0 +1,9 @@ +package org.toop.game.interfaces; + +import org.toop.game.Game; +import org.toop.game.enumerators.GameState; + +public interface Playable { + Game.Move[] getLegalMoves(); + GameState play(Game.Move move); +}