From 32d07341a5399f83968c698bb0fac3d8349caf57 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Tue, 10 May 2011 05:53:30 +0200 Subject: Define hand size constants in model git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@225 72836036-5685-4462-b002-a69064685172 --- src/jrummikub/control/GameControl.java | 10 +++++----- src/jrummikub/control/RoundControl.java | 17 +++++++---------- src/jrummikub/control/TurnControl.java | 5 +++-- src/jrummikub/model/Hand.java | 14 +++++++++++--- 4 files changed, 26 insertions(+), 20 deletions(-) diff --git a/src/jrummikub/control/GameControl.java b/src/jrummikub/control/GameControl.java index 3ad9f66..b62232f 100644 --- a/src/jrummikub/control/GameControl.java +++ b/src/jrummikub/control/GameControl.java @@ -1,6 +1,7 @@ package jrummikub.control; import jrummikub.model.GameState; +import jrummikub.model.Hand; import jrummikub.util.IListener; import jrummikub.view.IView; @@ -8,20 +9,19 @@ import jrummikub.view.IView; * Controls a Game, at some point including all Rounds, starts new Rounds */ public class GameControl { - final static int HAND_HEIGHT = 2; - final static int HAND_WIDTH = 14; private IView view; private RoundControl roundControl; /** * Constructor * - * @param view the view + * @param view + * the view */ public GameControl(IView view) { this.view = view; - view.getPlayerPanel().getHandPanel().setHandHeight(HAND_HEIGHT); - view.getPlayerPanel().getHandPanel().setHandWidth(HAND_WIDTH); + view.getPlayerPanel().getHandPanel().setHandHeight(Hand.HEIGHT); + view.getPlayerPanel().getHandPanel().setHandWidth(Hand.WIDTH); view.getNewGameEvent().add(new IListener() { @Override diff --git a/src/jrummikub/control/RoundControl.java b/src/jrummikub/control/RoundControl.java index bb07964..7cea255 100644 --- a/src/jrummikub/control/RoundControl.java +++ b/src/jrummikub/control/RoundControl.java @@ -5,6 +5,7 @@ import java.util.HashSet; import java.util.List; import java.util.Set; +import jrummikub.model.Hand; import jrummikub.model.IGameState; import jrummikub.model.IHand; import jrummikub.model.ITable; @@ -32,9 +33,9 @@ public class RoundControl { * Create a new RoundControl using the given gameState and view * * @param gameState - * initial game state + * initial game state * @param view - * view used for user interaction + * view used for user interaction */ public RoundControl(IGameState gameState, IView view) { this.gameState = gameState; @@ -98,17 +99,14 @@ public class RoundControl { for (int i = 0; i < gameState.getPlayerCount(); i++) { IHand hand = gameState.getNthNextPlayer(i).getHand(); for (int j = 0; j < 7; j++) { - hand.drop(gameState.getGameHeap().drawStone(), new Position(j, - 0)); - hand.drop(gameState.getGameHeap().drawStone(), new Position(j, - 1)); + hand.drop(gameState.getGameHeap().drawStone(), new Position(j, 0)); + hand.drop(gameState.getGameHeap().drawStone(), new Position(j, 1)); } } } private void endOfTurn() { - Set tableDiff = tableDifference(gameState.getTable(), - clonedTable); + Set tableDiff = tableDifference(gameState.getTable(), clonedTable); if (!tableDiff.isEmpty()) { // Player has made a move if (clonedTable.isValid()) { @@ -156,8 +154,7 @@ public class RoundControl { .getActivePlayer() .getHand() .drop(gameState.getGameHeap().drawStone(), - new Position(GameControl.HAND_WIDTH - 1, - GameControl.HAND_HEIGHT - 1)); + new Position(Hand.WIDTH - 1, Hand.HEIGHT - 1)); } private void dealPenalty(int count) { diff --git a/src/jrummikub/control/TurnControl.java b/src/jrummikub/control/TurnControl.java index afe1f9a..3a357cc 100644 --- a/src/jrummikub/control/TurnControl.java +++ b/src/jrummikub/control/TurnControl.java @@ -6,6 +6,7 @@ import java.util.Comparator; import java.util.LinkedList; import java.util.List; +import jrummikub.model.Hand; import jrummikub.model.IHand; import jrummikub.model.ITable; import jrummikub.model.Position; @@ -242,11 +243,11 @@ public class TurnControl { for (Stone stone : stones) { hand.drop(stone, new Position(x, y)); x++; - if (x >= GameControl.HAND_WIDTH) { + if (x >= Hand.WIDTH) { x = 0; y++; - if (y >= GameControl.HAND_HEIGHT) { + if (y >= Hand.HEIGHT) { // TODO We can't handle this yet... throw new ArrayIndexOutOfBoundsException(); } diff --git a/src/jrummikub/model/Hand.java b/src/jrummikub/model/Hand.java index 8864a17..62531f4 100644 --- a/src/jrummikub/model/Hand.java +++ b/src/jrummikub/model/Hand.java @@ -6,6 +6,14 @@ import static jrummikub.model.StoneTray.Direction.*; /** Class managing a {@link Player}'s {@link Stone}s */ public class Hand extends StoneTray implements IHand { + /** + * The width of the hand + */ + public final static int WIDTH = 14; + /** + * The height of the hand + */ + public final static int HEIGHT = 2; @Override protected Pair fixInvalidDrop(Stone stone, Position pos, @@ -13,20 +21,20 @@ public class Hand extends StoneTray implements IHand { float x = pos.getX(); float y = pos.getY(); - if (x >= 0 && x <= 13) { + if (x >= 0 && x <= WIDTH - 1) { return null; } if (x < 0) { if (y == 0) { return new Pair(new Position(0, 0), RIGHT); } else { - return new Pair(new Position(13, 0), LEFT); + return new Pair(new Position(WIDTH - 1, 0), LEFT); } } else { if (y == 0) { return new Pair(new Position(0, 1), RIGHT); } else { - return new Pair(new Position(13, 1), LEFT); + return new Pair(new Position(WIDTH - 1, 1), LEFT); } } } -- cgit v1.2.3