mirror of
https://github.com/2OOP/pism.git
synced 2026-02-04 10:54:51 +00:00
Collapsed interfaces from model portion
This commit is contained in:
@@ -4,7 +4,7 @@ import org.toop.framework.eventbus.EventFlow;
|
||||
import org.toop.framework.gameFramework.model.game.threadBehaviour.AbstractThreadBehaviour;
|
||||
import org.toop.framework.gameFramework.view.GUIEvents;
|
||||
import org.toop.framework.gameFramework.model.game.TurnBasedGame;
|
||||
import org.toop.framework.gameFramework.model.game.SupportsOnlinePlay;
|
||||
import org.toop.framework.gameFramework.model.game.threadBehaviour.SupportsOnlinePlay;
|
||||
import org.toop.framework.gameFramework.model.player.Player;
|
||||
import org.toop.framework.game.players.OnlinePlayer;
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package org.toop.framework.game.players;
|
||||
package org.toop.framework.game.players.ai;
|
||||
|
||||
import org.toop.framework.gameFramework.GameState;
|
||||
import org.toop.framework.gameFramework.model.game.PlayResult;
|
||||
@@ -1,4 +1,4 @@
|
||||
package org.toop.framework.game.players;
|
||||
package org.toop.framework.game.players.ai;
|
||||
|
||||
import org.toop.framework.gameFramework.model.game.TurnBasedGame;
|
||||
import org.toop.framework.gameFramework.model.player.AbstractAI;
|
||||
@@ -1,5 +0,0 @@
|
||||
package org.toop.framework.gameFramework.model.game;
|
||||
|
||||
public interface BoardProvider {
|
||||
long[] getBoard();
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
package org.toop.framework.gameFramework.model.game;
|
||||
|
||||
import org.toop.framework.gameFramework.GameState;
|
||||
|
||||
/**
|
||||
* Interface for turn-based games that can be played and queried for legal moves.
|
||||
*/
|
||||
public interface Playable {
|
||||
|
||||
/**
|
||||
* Returns the moves that are currently valid in the game.
|
||||
*
|
||||
* @return an array of integers representing legal moves
|
||||
*/
|
||||
long getLegalMoves();
|
||||
|
||||
/**
|
||||
* Plays the given move and returns the resulting game state.
|
||||
*
|
||||
* @param move the move to apply
|
||||
* @return the {@link GameState} and additional info after the move
|
||||
*/
|
||||
PlayResult play(long move);
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
package org.toop.framework.gameFramework.model.game;
|
||||
|
||||
import org.toop.framework.gameFramework.model.player.Player;
|
||||
|
||||
public interface PlayerProvider {
|
||||
Player getPlayer(int index);
|
||||
}
|
||||
@@ -2,9 +2,12 @@ package org.toop.framework.gameFramework.model.game;
|
||||
|
||||
import org.toop.framework.gameFramework.model.player.Player;
|
||||
|
||||
public interface TurnBasedGame extends Playable, PlayerProvider, BoardProvider, DeepCopyable<TurnBasedGame> {
|
||||
public interface TurnBasedGame extends DeepCopyable<TurnBasedGame> {
|
||||
void init(Player[] players);
|
||||
long[] getBoard();
|
||||
int getCurrentTurn();
|
||||
int getPlayerCount();
|
||||
int getWinner();
|
||||
long getLegalMoves();
|
||||
PlayResult play(long move);
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.toop.framework.gameFramework.LongPairConsumer;
|
||||
import org.toop.framework.gameFramework.controller.GameController;
|
||||
import org.toop.framework.gameFramework.controller.SupportsOnlinePlay;
|
||||
import org.toop.framework.gameFramework.model.game.TurnBasedGame;
|
||||
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package org.toop.framework.gameFramework.model.game;
|
||||
package org.toop.framework.gameFramework.model.game.threadBehaviour;
|
||||
|
||||
/**
|
||||
* Interface for games that support online multiplayer play.
|
||||
@@ -3,5 +3,6 @@ package org.toop.framework.gameFramework.model.player;
|
||||
import org.toop.framework.gameFramework.model.game.DeepCopyable;
|
||||
import org.toop.framework.gameFramework.model.game.TurnBasedGame;
|
||||
|
||||
public interface AI extends MoveProvider, DeepCopyable<AI> {
|
||||
public interface AI extends DeepCopyable<AI> {
|
||||
long getMove(TurnBasedGame game);
|
||||
}
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
package org.toop.framework.gameFramework.model.player;
|
||||
|
||||
import org.toop.framework.gameFramework.model.game.TurnBasedGame;
|
||||
|
||||
public interface MoveProvider {
|
||||
long getMove(TurnBasedGame game);
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
package org.toop.framework.gameFramework.model.player;
|
||||
|
||||
public interface NameProvider {
|
||||
String getName();
|
||||
}
|
||||
@@ -1,5 +1,9 @@
|
||||
package org.toop.framework.gameFramework.model.player;
|
||||
|
||||
import org.toop.framework.gameFramework.model.game.DeepCopyable;
|
||||
import org.toop.framework.gameFramework.model.game.TurnBasedGame;
|
||||
|
||||
public interface Player extends NameProvider, MoveProvider, DeepCopyable<Player> {}
|
||||
public interface Player extends DeepCopyable<Player> {
|
||||
String getName();
|
||||
long getMove(TurnBasedGame game);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user