From d9a0b0e37dbdde6d60fa4ee41c2a100547e7824b Mon Sep 17 00:00:00 2001 From: Jannis Harder Date: Tue, 24 May 2011 01:51:53 +0200 Subject: Implemented special case round end (heap empty) git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@262 72836036-5685-4462-b002-a69064685172 --- src/jrummikub/model/RoundState.java | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'src/jrummikub/model/RoundState.java') 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 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; + } } -- cgit v1.2.3