Move some static player data to a player settings class

git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@252 72836036-5685-4462-b002-a69064685172
This commit is contained in:
Matthias Schiffer 2011-05-18 17:01:10 +02:00
parent 5169f31af0
commit b5397d5aa7
8 changed files with 80 additions and 65 deletions

View file

@ -72,13 +72,13 @@ public class RoundControl {
clonedTable = (ITable) gameState.getTable().clone();
view.enableStartTurnPanel(true);
view.getTablePanel().setStoneSets(clonedTable);
view.setCurrentPlayerName(gameState.getActivePlayer().getName());
view.setCurrentPlayerName(gameState.getActivePlayer().getPlayerSettings().getName());
view.getTablePanel().setLeftPlayerName(
gameState.getNthNextPlayer(1).getName());
gameState.getNthNextPlayer(1).getPlayerSettings().getName());
view.getTablePanel().setTopPlayerName(
gameState.getNthNextPlayer(2).getName());
gameState.getNthNextPlayer(2).getPlayerSettings().getName());
view.getTablePanel().setRightPlayerName(
gameState.getNthNextPlayer(3).getName());
gameState.getNthNextPlayer(3).getPlayerSettings().getName());
}
private void startTurn() {

View file

@ -1,7 +1,5 @@
package jrummikub.model;
import java.awt.Color;
/**
* Interface for {@link Player} model
*/
@ -15,19 +13,16 @@ public interface IPlayer {
public IHand getHand();
/**
* Return the player's color
* Has the player laid out yet?
*
* @return the player's color
* @return if the player has laid out
*/
public Color getColor();
public boolean getLaidOut();
/**
* Return the name of the player
* Returns the player settings
*
* @return the player's name
* @return the player settings
*/
public String getName();
boolean getLaidOut();
public PlayerSettings getPlayerSettings();
}

View file

@ -1,46 +1,36 @@
package jrummikub.model;
import java.awt.Color;
/** Class managing player data. No methods in release 1 */
public class Player implements IPlayer {
private PlayerSettings settings;
private IHand hand;
private String name;
private Color color;
private boolean laidOut;
/**
* Create a new player with a given name and color
*
* @param name
* player name
* @param color
* player's color
* @param settings
* the player settings
*/
public Player(String name, Color color) {
public Player(PlayerSettings settings) {
this.settings = settings;
hand = new Hand();
this.name = name;
this.color = color;
laidOut = false;
}
@Override
public IHand getHand() {
return hand;
}
@Override
public boolean getLaidOut() {
return laidOut;
}
@Override
public Color getColor() {
return color;
}
@Override
public String getName() {
return name;
public PlayerSettings getPlayerSettings() {
return settings;
}
}

View file

@ -0,0 +1,42 @@
package jrummikub.model;
import java.awt.Color;
/**
* The settings of a player
*/
public class PlayerSettings {
private String name;
private Color color;
/**
* Create a new human player
*
* @param name
* the player's name
* @param color
* the player's color
*/
public PlayerSettings(String name, Color color) {
this.name = name;
this.color = color;
}
/**
* Returns the player's color
*
* @return the color
*/
public Color getColor() {
return color;
}
/**
* Returns the player's name
*
* @return the name
*/
public String getName() {
return name;
}
}

View file

@ -24,10 +24,10 @@ public class RoundState implements IRoundState {
table = new Table();
players = new ArrayList<Player>();
players.add(new Player("Ida", Color.RED));
players.add(new Player("Matthias", Color.YELLOW));
players.add(new Player("Jannis", Color.GREEN));
players.add(new Player("Bennet", Color.BLACK));
players.add(new Player(new PlayerSettings("Ida", Color.RED)));
players.add(new Player(new PlayerSettings("Matthias", Color.YELLOW)));
players.add(new Player(new PlayerSettings("Jannis", Color.GREEN)));
players.add(new Player(new PlayerSettings("Bennet", Color.BLACK)));
activePlayer = 0;
gameHeap = new StoneHeap();
}