summaryrefslogtreecommitdiffstats
path: root/src/jrummikub
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2011-05-10 05:53:30 +0200
committerMatthias Schiffer <mschiffer@universe-factory.net>2011-05-10 05:53:30 +0200
commit32d07341a5399f83968c698bb0fac3d8349caf57 (patch)
treeb6f93f54f27c88093cc145b9085192f87e34d20b /src/jrummikub
parent8f47c06e3175e7b2a6b0c27c96c0ed4d950b8ead (diff)
downloadJRummikub-32d07341a5399f83968c698bb0fac3d8349caf57.tar
JRummikub-32d07341a5399f83968c698bb0fac3d8349caf57.zip
Define hand size constants in model
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@225 72836036-5685-4462-b002-a69064685172
Diffstat (limited to 'src/jrummikub')
-rw-r--r--src/jrummikub/control/GameControl.java10
-rw-r--r--src/jrummikub/control/RoundControl.java17
-rw-r--r--src/jrummikub/control/TurnControl.java5
-rw-r--r--src/jrummikub/model/Hand.java14
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<Stone> tableDiff = tableDifference(gameState.getTable(),
- clonedTable);
+ Set<Stone> 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<Stone> 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<Position, Direction> fixInvalidDrop(Stone stone, Position pos,
@@ -13,20 +21,20 @@ public class Hand extends StoneTray<Stone> 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<Position, Direction>(new Position(0, 0), RIGHT);
} else {
- return new Pair<Position, Direction>(new Position(13, 0), LEFT);
+ return new Pair<Position, Direction>(new Position(WIDTH - 1, 0), LEFT);
}
} else {
if (y == 0) {
return new Pair<Position, Direction>(new Position(0, 1), RIGHT);
} else {
- return new Pair<Position, Direction>(new Position(13, 1), LEFT);
+ return new Pair<Position, Direction>(new Position(WIDTH - 1, 1), LEFT);
}
}
}