diff options
author | Ida Massow <massow@informatik.uni-luebeck.de> | 2011-05-18 15:25:26 +0200 |
---|---|---|
committer | Ida Massow <massow@informatik.uni-luebeck.de> | 2011-05-18 15:25:26 +0200 |
commit | b3c903a2ad86aa803fe9bcf83aea947c452241b5 (patch) | |
tree | 51c2f9e9a6ef68d0857ce493e38282ebc8178ec3 /src/jrummikub/model/RoundState.java | |
parent | d0a70145772a17ab75db4c705efb421e3bcce378 (diff) | |
download | JRummikub-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.java | 62 |
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; + } +} |