This repository has been archived on 2025-03-02. You can view files and clone it, but cannot push or open issues or pull requests.
JRummikub/src/jrummikub/model/IGameState.java

56 lines
1,015 B
Java
Raw Normal View History

package jrummikub.model;
/**
* Interface for {@link GameState} model
*/
public interface IGameState {
/**
* Get the current {@link Table}
*
* @return The current Table
*/
public ITable getTable();
/**
* Sets the current {@link Table}
*
* @param table
* The new Table
*/
public void setTable(ITable table);
/**
* Returns the number of players
*
* @return number of players
*/
public int getPlayerCount();
/** Changes the activePlayer to the next {@link Player} in the list */
public void nextPlayer();
/**
* Returns the currently active player
*
* @return currently active player
*/
public IPlayer getActivePlayer();
/**
* Returns the heap of stones to draw from
*
* @return heap of stones
*/
public StoneHeap getGameHeap();
/**
* Returns the player that would be the active player after i turns
*
* @param i
* number of turns
* @return player active after i turns
*/
public IPlayer getNthNextPlayer(int i);
}