From 92d110995488380778bd378f4297032a325dc385 Mon Sep 17 00:00:00 2001 From: Jannis Harder Date: Tue, 24 May 2011 01:51:54 +0200 Subject: Select a random player for the first round git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@263 72836036-5685-4462-b002-a69064685172 --- src/jrummikub/model/GameState.java | 24 ++++++++++++++++++++++++ src/jrummikub/model/IRoundState.java | 14 +++++++++++--- src/jrummikub/model/RoundState.java | 9 +++++++++ 3 files changed, 44 insertions(+), 3 deletions(-) create mode 100644 src/jrummikub/model/GameState.java (limited to 'src/jrummikub/model') diff --git a/src/jrummikub/model/GameState.java b/src/jrummikub/model/GameState.java new file mode 100644 index 0000000..4bb55bc --- /dev/null +++ b/src/jrummikub/model/GameState.java @@ -0,0 +1,24 @@ +package jrummikub.model; + +/** + * Class that stores information for a game of multiple rounds + */ +public class GameState { + private int firstRoundFirstPlayer; + + /** + * Gets the number of the first player of the first round + * @return the number of the first player of the first round + */ + public int getFirstRoundFirstPlayer() { + return firstRoundFirstPlayer; + } + + /** + * Sets the number of the first player of the first round + * @param firstRoundFirstPlayer the number of the first player of the first round + */ + public void setFirstRoundFirstPlayer(int firstRoundFirstPlayer) { + this.firstRoundFirstPlayer = firstRoundFirstPlayer; + } +} diff --git a/src/jrummikub/model/IRoundState.java b/src/jrummikub/model/IRoundState.java index dea225b..4dbcd9a 100644 --- a/src/jrummikub/model/IRoundState.java +++ b/src/jrummikub/model/IRoundState.java @@ -64,8 +64,7 @@ public interface IRoundState { * Sets the player that will make the last turn before the round ends when * the heap is empty * - * @param lastPlayer - * the last player + * @return the last player */ public abstract IPlayer getLastPlayer(); @@ -73,8 +72,17 @@ public interface IRoundState { * Gets the player that will make the last turn before the round ends when * the heap is empty * - * @return lastPlayer the last player + * @param lastPlayer + * the last player */ public abstract void setLastPlayer(IPlayer lastPlayer); + /** + * Makes the player with number i the active player + * + * @param i + * number of the player to make active + */ + public void setActivePlayerNumber(int i); + } \ No newline at end of file diff --git a/src/jrummikub/model/RoundState.java b/src/jrummikub/model/RoundState.java index 0bda737..076fd00 100644 --- a/src/jrummikub/model/RoundState.java +++ b/src/jrummikub/model/RoundState.java @@ -52,6 +52,15 @@ public class RoundState implements IRoundState { public void nextPlayer() { activePlayer = (activePlayer + 1) % players.size(); } + + @Override + public void setActivePlayerNumber(int i) { + int j = i % players.size(); + if (j < 0) { + j += players.size(); + } + activePlayer = j; + } @Override public IPlayer getNthNextPlayer(int i) { -- cgit v1.2.3