# IGameState
Date: 2011-05-10

## jrummikub.model
Interface IGameState

All Known Implementing Classes:
  GameState

    public interface IGameState

Interface for `GameState` model

Method Summary
`IPlayer` `getActivePlayer()` Returns the currently active player
`StoneHeap` `getGameHeap()` Returns the heap of stones to draw from
`IPlayer` `getNthNextPlayer(int i)` Returns the player that would be the active player after i turns
`int` `getPlayerCount()` Returns the number of players
`ITable` `getTable()` Get the current `Table`
`void` `nextPlayer()` Changes the activePlayer to the next `Player` in the list
`void` `setTable(ITable table)` Sets the current `Table`

Method Detail

### getTable

    ITable getTable()

  Get the current `Table`

  Returns:
    The current Table

### setTable

    void setTable(ITable table)

  Sets the current `Table`

  Parameters:
    `table` - The new Table

### getPlayerCount

    int getPlayerCount()

  Returns the number of players

  Returns:
    number of players

### nextPlayer

    void nextPlayer()

  Changes the activePlayer to the next `Player` in the list

### getActivePlayer

    IPlayer getActivePlayer()

  Returns the currently active player

  Returns:
    currently active player

### getGameHeap

    StoneHeap getGameHeap()

  Returns the heap of stones to draw from

  Returns:
    heap of stones

### getNthNextPlayer

    IPlayer getNthNextPlayer(int i)

  Returns the player that would be the active player after i turns

  Parameters:
    `i` - number of turns
  Returns:
    player active after i turns