summaryrefslogtreecommitdiffstats
path: root/src/jrummikub
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2011-05-26 16:02:33 +0200
committerMatthias Schiffer <mschiffer@universe-factory.net>2011-05-26 16:02:33 +0200
commit3d74d1197419cde195be31de2b2d798abb171291 (patch)
tree55ebc64efe3dd14632cfc178f3a3cfa039bf6d07 /src/jrummikub
parentcff3180460c8f0bfcb0cacac9f49f58d47bd19b1 (diff)
downloadJRummikub-3d74d1197419cde195be31de2b2d798abb171291.tar
JRummikub-3d74d1197419cde195be31de2b2d798abb171291.zip
Remove player labels at the table edges
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@283 72836036-5685-4462-b002-a69064685172
Diffstat (limited to 'src/jrummikub')
-rw-r--r--src/jrummikub/control/RoundControl.java45
-rw-r--r--src/jrummikub/view/ITablePanel.java24
-rw-r--r--src/jrummikub/view/IView.java7
-rw-r--r--src/jrummikub/view/impl/TablePanel.java46
-rw-r--r--src/jrummikub/view/impl/View.java6
5 files changed, 30 insertions, 98 deletions
diff --git a/src/jrummikub/control/RoundControl.java b/src/jrummikub/control/RoundControl.java
index 71aad04..46ae459 100644
--- a/src/jrummikub/control/RoundControl.java
+++ b/src/jrummikub/control/RoundControl.java
@@ -36,9 +36,9 @@ public class RoundControl {
* Create a new RoundControl using the given gameState and view
*
* @param roundState
- * initial round state
+ * initial round state
* @param view
- * view used for user interaction
+ * view used for user interaction
*/
public RoundControl(IRoundState roundState, IView view) {
this.roundState = roundState;
@@ -75,14 +75,8 @@ public class RoundControl {
clonedTable = (ITable) roundState.getTable().clone();
view.enableStartTurnPanel(true);
view.getTablePanel().setStoneSets(clonedTable);
- view.setCurrentPlayerName(roundState.getActivePlayer()
- .getPlayerSettings().getName());
- view.getTablePanel().setLeftPlayerName(
- roundState.getNthNextPlayer(1).getPlayerSettings().getName());
- view.getTablePanel().setTopPlayerName(
- roundState.getNthNextPlayer(2).getPlayerSettings().getName());
- view.getTablePanel().setRightPlayerName(
- roundState.getNthNextPlayer(3).getPlayerSettings().getName());
+ view.setCurrentPlayerName(roundState.getActivePlayer().getPlayerSettings()
+ .getName());
}
private void startTurn() {
@@ -103,10 +97,8 @@ public class RoundControl {
for (int i = 0; i < roundState.getPlayerCount(); i++) {
IHand hand = roundState.getNthNextPlayer(i).getHand();
for (int j = 0; j < 7; j++) {
- hand.drop(roundState.getGameHeap().drawStone(), new Position(j,
- 0));
- hand.drop(roundState.getGameHeap().drawStone(), new Position(j,
- 1));
+ hand.drop(roundState.getGameHeap().drawStone(), new Position(j, 0));
+ hand.drop(roundState.getGameHeap().drawStone(), new Position(j, 1));
}
}
}
@@ -121,8 +113,7 @@ public class RoundControl {
}
return totalValue == 0
- || totalValue >= roundState.getGameSettings()
- .getInitialMeldThreshold();
+ || totalValue >= roundState.getGameSettings().getInitialMeldThreshold();
}
private void endOfTurn() {
@@ -158,8 +149,7 @@ public class RoundControl {
}
if (!roundState.getActivePlayer().getLaidOut()) {
// Player touched forbidden stones
- if (!tableSetDifference(clonedTable, roundState.getTable())
- .isEmpty()) {
+ if (!tableSetDifference(clonedTable, roundState.getTable()).isEmpty()) {
rejectMove();
return;
}
@@ -168,8 +158,7 @@ public class RoundControl {
return;
}
}
- Set<Stone> tableDiff = tableDifference(roundState.getTable(),
- clonedTable);
+ Set<Stone> tableDiff = tableDifference(roundState.getTable(), clonedTable);
roundState.setTable(clonedTable);
@@ -185,8 +174,7 @@ public class RoundControl {
}
private void rejectMove() {
- Set<Stone> tableDiff = tableDifference(roundState.getTable(),
- clonedTable);
+ Set<Stone> tableDiff = tableDifference(roundState.getTable(), clonedTable);
// deal penalty, reset
roundState.getGameHeap().putBack(tableDiff);
dealPenalty(tableDiff.size());
@@ -258,7 +246,8 @@ public class RoundControl {
boolean foundRegularWinner = false;
int winnerPlayerNumber = 0;
- Pair<Integer, Integer> bestScore = new Pair<Integer, Integer>(Integer.MIN_VALUE, Integer.MAX_VALUE);
+ Pair<Integer, Integer> bestScore = new Pair<Integer, Integer>(
+ Integer.MIN_VALUE, Integer.MAX_VALUE);
int pointSum = 0;
for (int i = 0; i < roundState.getPlayerCount(); i++) {
IPlayer player = roundState.getNthPlayer(i);
@@ -276,9 +265,9 @@ public class RoundControl {
} else {
stonePoints = playerHand.getStonePoints();
}
-
+
bestScore = updateBestScore(bestScore, -stonePoints, playerHand.getSize());
-
+
points.add(-stonePoints);
pointSum += stonePoints;
}
@@ -287,7 +276,8 @@ public class RoundControl {
points.set(winnerPlayerNumber, pointSum);
} else {
for (int i = 0; i < roundState.getPlayerCount(); i++) {
- if (bestScore.equals(new Pair<Integer, Integer>(points.get(i), roundState.getNthPlayer(i).getHand().getSize()))) {
+ if (bestScore.equals(new Pair<Integer, Integer>(points.get(i),
+ roundState.getNthPlayer(i).getHand().getSize()))) {
winners.set(i, true);
}
}
@@ -298,7 +288,8 @@ public class RoundControl {
private static Pair<Integer, Integer> updateBestScore(
Pair<Integer, Integer> bestScore, int stonePoints, int size) {
if (bestScore.getFirst() == stonePoints) {
- return new Pair<Integer, Integer>(stonePoints, Math.min(bestScore.getSecond(), size));
+ return new Pair<Integer, Integer>(stonePoints, Math.min(
+ bestScore.getSecond(), size));
} else if (bestScore.getFirst() < stonePoints) {
return new Pair<Integer, Integer>(stonePoints, size);
}
diff --git a/src/jrummikub/view/ITablePanel.java b/src/jrummikub/view/ITablePanel.java
index d146ca3..5f07369 100644
--- a/src/jrummikub/view/ITablePanel.java
+++ b/src/jrummikub/view/ITablePanel.java
@@ -10,30 +10,6 @@ import jrummikub.util.Pair;
*/
public interface ITablePanel extends IStonePanel, IClickable {
/**
- * Sets the player name on the left label
- *
- * @param playerName
- * the name to set
- */
- public void setLeftPlayerName(String playerName);
-
- /**
- * Sets the player name on the top label
- *
- * @param playerName
- * the name to set
- */
- public void setTopPlayerName(String playerName);
-
- /**
- * Sets the player name on the right label
- *
- * @param playerName
- * the name to set
- */
- public void setRightPlayerName(String playerName);
-
- /**
* Sets the stone sets lying on the table
*
* @param stoneSets
diff --git a/src/jrummikub/view/IView.java b/src/jrummikub/view/IView.java
index ec154be..67e0885 100644
--- a/src/jrummikub/view/IView.java
+++ b/src/jrummikub/view/IView.java
@@ -87,4 +87,11 @@ public interface IView {
* @return the event
*/
IEvent getNewRoundEvent();
+
+ /**
+ * Shows or hides the game settings panel
+ *
+ * @param show specifies if the panel shall be shown or hidden
+ */
+ void showSettingsPanel(boolean show);
}
diff --git a/src/jrummikub/view/impl/TablePanel.java b/src/jrummikub/view/impl/TablePanel.java
index 74a2b1f..31f6296 100644
--- a/src/jrummikub/view/impl/TablePanel.java
+++ b/src/jrummikub/view/impl/TablePanel.java
@@ -1,6 +1,5 @@
package jrummikub.view.impl;
-import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Insets;
@@ -17,7 +16,6 @@ import java.util.Collections;
import java.util.List;
import javax.swing.ImageIcon;
-import javax.swing.JLabel;
import javax.swing.SwingUtilities;
import jrummikub.model.Position;
@@ -49,7 +47,6 @@ class TablePanel extends AbstractStonePanel implements ITablePanel {
private final float COLLECTION_RATIO = 0.12f;
private final int COLLECTION_GAP = 5;
- private JLabel leftPlayerLabel, topPlayerLabel, rightPlayerLabel;
private StoneCollectionPanel stoneCollection;
private Iterable<Pair<StoneSet, Position>> stoneSets = Collections.emptySet();
@@ -62,21 +59,6 @@ class TablePanel extends AbstractStonePanel implements ITablePanel {
private StoneSet rightHoveredConnector;
@Override
- public void setLeftPlayerName(String playerName) {
- leftPlayerLabel.setText(playerName);
- }
-
- @Override
- public void setTopPlayerName(String playerName) {
- topPlayerLabel.setText(playerName);
- }
-
- @Override
- public void setRightPlayerName(String playerName) {
- rightPlayerLabel.setText(playerName);
- }
-
- @Override
public Event1<StoneSet> getLeftConnectorClickEvent() {
return leftConnectorClickEvent;
}
@@ -124,36 +106,12 @@ class TablePanel extends AbstractStonePanel implements ITablePanel {
repaint();
}
- private void createLabels() {
- leftPlayerLabel = new JLabel();
- leftPlayerLabel.setForeground(Color.WHITE);
- leftPlayerLabel.setHorizontalAlignment(JLabel.LEFT);
- leftPlayerLabel.setHorizontalTextPosition(JLabel.LEFT);
- add(leftPlayerLabel);
-
- topPlayerLabel = new JLabel();
- topPlayerLabel.setHorizontalAlignment(JLabel.CENTER);
- topPlayerLabel.setHorizontalTextPosition(JLabel.CENTER);
- topPlayerLabel.setVerticalAlignment(JLabel.TOP);
- topPlayerLabel.setVerticalTextPosition(JLabel.TOP);
- topPlayerLabel.setForeground(Color.WHITE);
- add(topPlayerLabel);
-
- rightPlayerLabel = new JLabel();
- rightPlayerLabel.setForeground(Color.WHITE);
- rightPlayerLabel.setHorizontalAlignment(JLabel.RIGHT);
- rightPlayerLabel.setHorizontalTextPosition(JLabel.RIGHT);
- add(rightPlayerLabel);
- }
-
/**
* Creates a new Table instance
*/
TablePanel() {
setLayout(null);
- createLabels();
-
stoneCollection = new StoneCollectionPanel();
stoneCollection.getOtherClickEvent().add(new IListener1<Point>() {
@@ -206,10 +164,6 @@ class TablePanel extends AbstractStonePanel implements ITablePanel {
int x = insets.left, y = insets.top, width = getWidth() - insets.left
- insets.right, height = getHeight() - insets.top - insets.bottom;
- leftPlayerLabel.setBounds(x, y, width, height);
- topPlayerLabel.setBounds(x, y, width, height);
- rightPlayerLabel.setBounds(x, y, width, height);
-
int collectionHeight = (int) (height * COLLECTION_RATIO);
stoneCollection
.setBounds(x, y + height - collectionHeight - COLLECTION_GAP, width,
diff --git a/src/jrummikub/view/impl/View.java b/src/jrummikub/view/impl/View.java
index 3c9dbe9..0bc2e23 100644
--- a/src/jrummikub/view/impl/View.java
+++ b/src/jrummikub/view/impl/View.java
@@ -155,6 +155,11 @@ public class View extends JFrame implements IView {
}
@Override
+ public void showSettingsPanel(boolean show) {
+ settingsPanel.setVisible(show);
+ }
+
+ @Override
public void setCurrentPlayerName(String playerName) {
playerPanel.setCurrentPlayerName(playerName);
startTurnPanel.setCurrentPlayerName(playerName);
@@ -175,5 +180,4 @@ public class View extends JFrame implements IView {
public IEvent getFinalScoreEvent() {
return winPanel.getFinalScoreEvent();
}
-
}