summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2011-05-06 01:35:09 +0200
committerMatthias Schiffer <mschiffer@universe-factory.net>2011-05-06 01:35:09 +0200
commit193e9247fac9d10e3c32cc7cacb65406ef9d19c8 (patch)
treebc3356b1fa99f1445f554ee2878753223fbd9d79
parent55b19cef1d4594c0e4fe185b446eb59ad5f6bc85 (diff)
downloadJRummikub-193e9247fac9d10e3c32cc7cacb65406ef9d19c8.tar
JRummikub-193e9247fac9d10e3c32cc7cacb65406ef9d19c8.zip
Add winning notification and fix test...
git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@161 72836036-5685-4462-b002-a69064685172
-rw-r--r--src/jrummikub/control/RoundControl.java11
-rw-r--r--test/jrummikub/control/RoundControlTest.java3
2 files changed, 13 insertions, 1 deletions
diff --git a/src/jrummikub/control/RoundControl.java b/src/jrummikub/control/RoundControl.java
index 4949e2b..231b860 100644
--- a/src/jrummikub/control/RoundControl.java
+++ b/src/jrummikub/control/RoundControl.java
@@ -81,7 +81,12 @@ public class RoundControl {
if (clonedTable.isValid()) {
gameState.setTable(clonedTable);
- // TODO Win check
+ System.err.println(gameState.getActivePlayer().getName());
+ System.err.println(gameState.getActivePlayer().getHand().getSize());
+ if (gameState.getActivePlayer().getHand().getSize() == 0) {
+ win();
+ return;
+ }
} else {
gameState.getGameHeap().putBack(tableDiff);
dealPenalty(tableDiff.size());
@@ -127,4 +132,8 @@ public class RoundControl {
for (int i = 0; i < count + 3; ++i)
dealStone();
}
+
+ private void win() {
+ view.enableWinPanel(true);
+ }
}
diff --git a/test/jrummikub/control/RoundControlTest.java b/test/jrummikub/control/RoundControlTest.java
index 116786e..159df9d 100644
--- a/test/jrummikub/control/RoundControlTest.java
+++ b/test/jrummikub/control/RoundControlTest.java
@@ -61,6 +61,7 @@ public class RoundControlTest {
assertNotNull(view.getTablePanel().rightPlayerName);
assertTrue(view.displayStartTurnPanel);
assertFalse(view.startTurnEvent.listeners.isEmpty());
+ assertFalse(view.displayWinPanel);
checkTableDisplay();
}
@@ -194,6 +195,8 @@ public class RoundControlTest {
view.startTurnEvent.emit();
assertFalse(view.displayStartTurnPanel);
+ Stone stone = testGameState.players.get(0).hand.stones.remove(0);
+ newTable.drop(new StoneSet(stone), new Position(0, 0));
testGameState.players.get(0).hand.stones.clear();
resetTurnStart();
view.getPlayerPanel().endTurnEvent.emit();