diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2011-05-18 16:02:23 +0200 |
---|---|---|
committer | Matthias Schiffer <mschiffer@universe-factory.net> | 2011-05-18 16:02:23 +0200 |
commit | 5169f31af06926f4c268062791f648f1fdd91656 (patch) | |
tree | 4f490bfbcb72a8c1432a5b68cf3726f6373d1e72 /src/jrummikub/model | |
parent | 0b252810c9eb0f822c50d144b2ef0c652202d871 (diff) | |
download | JRummikub-5169f31af06926f4c268062791f648f1fdd91656.tar JRummikub-5169f31af06926f4c268062791f648f1fdd91656.zip |
Add GameSettings with the initial meld threshold
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@251 72836036-5685-4462-b002-a69064685172
Diffstat (limited to 'src/jrummikub/model')
-rw-r--r-- | src/jrummikub/model/GameSettings.java | 33 | ||||
-rw-r--r-- | src/jrummikub/model/IRoundState.java | 11 | ||||
-rw-r--r-- | src/jrummikub/model/RoundState.java | 20 |
3 files changed, 58 insertions, 6 deletions
diff --git a/src/jrummikub/model/GameSettings.java b/src/jrummikub/model/GameSettings.java new file mode 100644 index 0000000..b7177ef --- /dev/null +++ b/src/jrummikub/model/GameSettings.java @@ -0,0 +1,33 @@ +package jrummikub.model; + +/** + * The overall game settings + */ +public class GameSettings { + private int initialMeldThreshold; + + /** + * Creates new GameSettings with default values + */ + public GameSettings() { + initialMeldThreshold = 30; + } + + /** + * Sets the initial meld threshold + * + * @param value the value to set + */ + public void setInitialMeldThreshold(int value) { + initialMeldThreshold = value; + } + + /** + * Returns the initial meld threshold + * + * @return the threshold + */ + public int getInitialMeldThreshold() { + return initialMeldThreshold; + } +} diff --git a/src/jrummikub/model/IRoundState.java b/src/jrummikub/model/IRoundState.java index cb6cd73..af7a478 100644 --- a/src/jrummikub/model/IRoundState.java +++ b/src/jrummikub/model/IRoundState.java @@ -6,6 +6,13 @@ package jrummikub.model; public interface IRoundState { /** + * Get the current {@link GameSettings} + * + * @return The game settings + */ + public GameSettings getGameSettings(); + + /** * Get the current {@link Table} * * @return The current Table @@ -16,7 +23,7 @@ public interface IRoundState { * Sets the current {@link Table} * * @param table - * The new Table + * The new Table */ public void setTable(ITable table); @@ -48,7 +55,7 @@ public interface IRoundState { * Returns the player that would be the active player after i turns * * @param i - * number of turns + * number of turns * @return player active after i turns */ public IPlayer getNthNextPlayer(int i); diff --git a/src/jrummikub/model/RoundState.java b/src/jrummikub/model/RoundState.java index 82d93b0..4a27d2d 100644 --- a/src/jrummikub/model/RoundState.java +++ b/src/jrummikub/model/RoundState.java @@ -4,17 +4,24 @@ import java.awt.Color; import java.util.ArrayList; import java.util.List; -/** Class managing the overall and momentary GameState */ +/** Class managing the overall and momentary RoundState */ public class RoundState implements IRoundState { + private GameSettings gameSettings; + 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. + /** + * Create a new RoundState with an empty table + * + * @param gameSettings + * the game settings */ - public RoundState() { + public RoundState(GameSettings gameSettings) { + this.gameSettings = gameSettings; + table = new Table(); players = new ArrayList<Player>(); players.add(new Player("Ida", Color.RED)); @@ -59,4 +66,9 @@ public class RoundState implements IRoundState { public StoneHeap getGameHeap() { return gameHeap; } + + @Override + public GameSettings getGameSettings() { + return gameSettings; + } } |