package jrummikub.model;
/**
* Interface for {@link RoundState} model
*/
public interface IRoundState {
* Get the current {@link GameSettings}
*
* @return The game settings
public GameSettings getGameSettings();
* 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);
}