MonopolyOptions.java
package edu.chl.hajo.monopoly.core;
import java.util.ArrayList;
import java.util.List;
/**
* Model parameters. Put all values possible to change here
* Pure static class
* @author hajo
*
*/
public class MonopolyOptions {
// Constants
private static final int N_SPACES = 8;
private static final int DICE_FACES = 3;
private static final int BALANCE = 1000;
private static final int N_CARDS = 5;
private static final int BONUS = 100;
private static final List<Player> DEFAULT_PLAYERS = new ArrayList<>();
static {
// For development
DEFAULT_PLAYERS.add(new Player("olle", Piece.CAR, BALANCE));
DEFAULT_PLAYERS.add(new Player("fia", Piece.DOG, BALANCE));
}
// Options set to default
private static int nSpaces = N_SPACES;
private static int diceFaces = DICE_FACES;
private MonopolyOptions(){}
public static void setnSpaces(int nSpaces) {
MonopolyOptions.nSpaces = nSpaces;
}
public static void setDiceFaces(int diceFaces) {
MonopolyOptions.diceFaces = diceFaces;
}
public static void setBalance(int balance) {
MonopolyOptions.balance = balance;
}
public static void setnCards(int nCards) {
MonopolyOptions.nCards = nCards;
}
public static void setBonus(int bonus) {
MonopolyOptions.bonus = bonus;
}
public static void setPlayers(List<Player> players) {
MonopolyOptions.players = players;
}
private static int balance = BALANCE;
private static int nCards = N_CARDS;
private static int bonus = BONUS;
private static List<Player> players = DEFAULT_PLAYERS;
public static int getNPlayers() {
return players.size();
}
public static List<Player> getPlayers() {
return players;
}
public static int getNSpaces() {
return nSpaces;
}
public static int getNFaces() {
return diceFaces;
}
public static int getBalance() {
return balance;
}
public static int getNCards() {
return nCards;
}
public static int getBonus() {
return bonus;
}
public static int getPrice() {
return 100; // for development
}
}