summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/model/RoundState.java
diff options
context:
space:
mode:
authorIda Massow <massow@informatik.uni-luebeck.de>2011-05-18 15:25:26 +0200
committerIda Massow <massow@informatik.uni-luebeck.de>2011-05-18 15:25:26 +0200
commitb3c903a2ad86aa803fe9bcf83aea947c452241b5 (patch)
tree51c2f9e9a6ef68d0857ce493e38282ebc8178ec3 /src/jrummikub/model/RoundState.java
parentd0a70145772a17ab75db4c705efb421e3bcce378 (diff)
downloadJRummikub-b3c903a2ad86aa803fe9bcf83aea947c452241b5.tar
JRummikub-b3c903a2ad86aa803fe9bcf83aea947c452241b5.zip
GameState ist jetzt RoundState
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@249 72836036-5685-4462-b002-a69064685172
Diffstat (limited to 'src/jrummikub/model/RoundState.java')
-rw-r--r--src/jrummikub/model/RoundState.java62
1 files changed, 62 insertions, 0 deletions
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<Player> 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<Player>();
+ 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;
+ }
+}