From b5397d5aa7f01d557a469ca0d70f3b33e1fe2c60 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Wed, 18 May 2011 17:01:10 +0200 Subject: 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 --- src/jrummikub/control/RoundControl.java | 8 +++---- src/jrummikub/model/IPlayer.java | 17 +++++-------- src/jrummikub/model/Player.java | 30 ++++++++--------------- src/jrummikub/model/PlayerSettings.java | 42 +++++++++++++++++++++++++++++++++ src/jrummikub/model/RoundState.java | 8 +++---- 5 files changed, 66 insertions(+), 39 deletions(-) create mode 100644 src/jrummikub/model/PlayerSettings.java (limited to 'src/jrummikub') diff --git a/src/jrummikub/control/RoundControl.java b/src/jrummikub/control/RoundControl.java index 07adb99..9b746d1 100644 --- a/src/jrummikub/control/RoundControl.java +++ b/src/jrummikub/control/RoundControl.java @@ -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() { diff --git a/src/jrummikub/model/IPlayer.java b/src/jrummikub/model/IPlayer.java index ebe77fa..1ae6f12 100644 --- a/src/jrummikub/model/IPlayer.java +++ b/src/jrummikub/model/IPlayer.java @@ -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(); } \ No newline at end of file diff --git a/src/jrummikub/model/Player.java b/src/jrummikub/model/Player.java index 9444b5a..f482f28 100644 --- a/src/jrummikub/model/Player.java +++ b/src/jrummikub/model/Player.java @@ -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; } } diff --git a/src/jrummikub/model/PlayerSettings.java b/src/jrummikub/model/PlayerSettings.java new file mode 100644 index 0000000..87c2a27 --- /dev/null +++ b/src/jrummikub/model/PlayerSettings.java @@ -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; + } +} diff --git a/src/jrummikub/model/RoundState.java b/src/jrummikub/model/RoundState.java index 4a27d2d..b566fdf 100644 --- a/src/jrummikub/model/RoundState.java +++ b/src/jrummikub/model/RoundState.java @@ -24,10 +24,10 @@ public class RoundState implements IRoundState { table = new Table(); players = new ArrayList(); - 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(); } -- cgit v1.2.3