From b3c903a2ad86aa803fe9bcf83aea947c452241b5 Mon Sep 17 00:00:00 2001 From: Ida Massow Date: Wed, 18 May 2011 15:25:26 +0200 Subject: GameState ist jetzt RoundState git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@249 72836036-5685-4462-b002-a69064685172 --- src/jrummikub/model/RoundState.java | 62 +++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 src/jrummikub/model/RoundState.java (limited to 'src/jrummikub/model/RoundState.java') diff --git a/src/jrummikub/model/RoundState.java b/src/jrummikub/model/RoundState.java new file mode 100644 index 0000000..82d93b0 --- /dev/null +++ b/src/jrummikub/model/RoundState.java @@ -0,0 +1,62 @@ +package jrummikub.model; + +import java.awt.Color; +import java.util.ArrayList; +import java.util.List; + +/** Class managing the overall and momentary GameState */ +public class RoundState implements IRoundState { + private ITable table; + private List players; + private int activePlayer; + private StoneHeap gameHeap; + + /** + * Create a new GameState with an empty table and (currently) 4 new players. + */ + public RoundState() { + table = new Table(); + players = new ArrayList(); + players.add(new Player("Ida", Color.RED)); + players.add(new Player("Matthias", Color.YELLOW)); + players.add(new Player("Jannis", Color.GREEN)); + players.add(new Player("Bennet", Color.BLACK)); + activePlayer = 0; + gameHeap = new StoneHeap(); + } + + @Override + public ITable getTable() { + return table; + } + + @Override + public void setTable(ITable table) { + this.table = table; + } + + @Override + public int getPlayerCount() { + return players.size(); + } + + @Override + public void nextPlayer() { + activePlayer = (activePlayer + 1) % players.size(); + } + + @Override + public IPlayer getNthNextPlayer(int i) { + return players.get((activePlayer + i) % players.size()); + } + + @Override + public IPlayer getActivePlayer() { + return players.get(activePlayer); + } + + @Override + public StoneHeap getGameHeap() { + return gameHeap; + } +} -- cgit v1.2.3