package jrummikub.model; import java.awt.Color; import java.util.ArrayList; import java.util.List; /** Class managing the overall and momentary GameState */ public class GameState { private ITable table; private List players; private int activePlayer; private StoneHeap gameHeap; public GameState() { table = new Table(); players = new ArrayList(); players.add(new Player(Color.red)); players.add(new Player(Color.yellow)); players.add(new Player(Color.green)); players.add(new Player(Color.black)); activePlayer = 0; gameHeap = new StoneHeap(); } public ITable getTable() { return table; } public int getPlayerCount() { return players.size(); } public Player getPlayer(int i) { return players.get(i); } /** Changes the activePlayer to the next {@link Player} in the list */ public void nextPlayer() { activePlayer = (activePlayer + 1) % players.size(); } public Player getActivePlayer() { return players.get(activePlayer); } public StoneHeap getGameHeap() { return gameHeap; } }