summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/model/RoundState.java
diff options
context:
space:
mode:
authorJannis Harder <harder@informatik.uni-luebeck.de>2011-05-24 01:51:53 +0200
committerJannis Harder <harder@informatik.uni-luebeck.de>2011-05-24 01:51:53 +0200
commitd9a0b0e37dbdde6d60fa4ee41c2a100547e7824b (patch)
tree3d711c9b7d75ebdda72966d7cfaf72d92fe12216 /src/jrummikub/model/RoundState.java
parentb20961b89dd07be5ac2ff3b7fd1132eca0944ac4 (diff)
downloadJRummikub-d9a0b0e37dbdde6d60fa4ee41c2a100547e7824b.tar
JRummikub-d9a0b0e37dbdde6d60fa4ee41c2a100547e7824b.zip
Implemented special case round end (heap empty)
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@262 72836036-5685-4462-b002-a69064685172
Diffstat (limited to 'src/jrummikub/model/RoundState.java')
-rw-r--r--src/jrummikub/model/RoundState.java19
1 files changed, 17 insertions, 2 deletions
diff --git a/src/jrummikub/model/RoundState.java b/src/jrummikub/model/RoundState.java
index 56f7904..0bda737 100644
--- a/src/jrummikub/model/RoundState.java
+++ b/src/jrummikub/model/RoundState.java
@@ -11,12 +11,13 @@ public class RoundState implements IRoundState {
private List<Player> players;
private int activePlayer;
private StoneHeap gameHeap;
+ private IPlayer lastPlayer;
/**
* Create a new RoundState with an empty table
*
* @param gameSettings
- * the game settings
+ * the game settings
*/
public RoundState(GameSettings gameSettings) {
this.gameSettings = gameSettings;
@@ -54,7 +55,11 @@ public class RoundState implements IRoundState {
@Override
public IPlayer getNthNextPlayer(int i) {
- return players.get((activePlayer + i) % players.size());
+ int j = (activePlayer + i) % players.size();
+ if (j < 0) {
+ j += players.size();
+ }
+ return players.get(j);
}
@Override
@@ -71,4 +76,14 @@ public class RoundState implements IRoundState {
public GameSettings getGameSettings() {
return gameSettings;
}
+
+ @Override
+ public void setLastPlayer(IPlayer lastPlayer) {
+ this.lastPlayer = lastPlayer;
+ }
+
+ @Override
+ public IPlayer getLastPlayer() {
+ return lastPlayer;
+ }
}