Add GameSettings with the initial meld threshold
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@251 72836036-5685-4462-b002-a69064685172
This commit is contained in:
parent
0b252810c9
commit
5169f31af0
7 changed files with 77 additions and 10 deletions
33
src/jrummikub/model/GameSettings.java
Normal file
33
src/jrummikub/model/GameSettings.java
Normal file
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -5,6 +5,13 @@ package jrummikub.model;
|
|||
*/
|
||||
public interface IRoundState {
|
||||
|
||||
/**
|
||||
* Get the current {@link GameSettings}
|
||||
*
|
||||
* @return The game settings
|
||||
*/
|
||||
public GameSettings getGameSettings();
|
||||
|
||||
/**
|
||||
* Get the current {@link 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);
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
Reference in a new issue