summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/control/RoundControl.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jrummikub/control/RoundControl.java')
-rw-r--r--src/jrummikub/control/RoundControl.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/jrummikub/control/RoundControl.java b/src/jrummikub/control/RoundControl.java
index 91bf59b..ba61dfd 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.GameState;
import jrummikub.model.Hand;
import jrummikub.model.IHand;
import jrummikub.model.IPlayer;
@@ -87,7 +88,7 @@ public class RoundControl {
private void startTurn() {
TurnControl turnControl = new TurnControl(roundState.getActivePlayer()
- .getHand(), clonedTable, view);
+ .getHand(), clonedTable, view, roundState.getTurnNumber() < 1);
connections.add(turnControl.getEndOfTurnEvent().add(new IListener() {
@Override
@@ -126,19 +127,24 @@ public class RoundControl {
}
private void endOfTurn() {
- checkTurn();
+ if (roundState.getTurnNumber() >= 1) {
+ checkTurn();
+ }
if (roundState.getLastPlayer() == null) {
if (roundState.getGameHeap().getSize() == 0) {
roundState.setLastPlayer(roundState.getNthNextPlayer(-1));
+ roundState.nextTurn();
} else {
roundState.nextPlayer();
+ roundState.nextTurn();
}
} else {
if (roundState.getActivePlayer() == roundState.getLastPlayer()) {
endOfRound();
} else {
roundState.nextPlayer();
+ roundState.nextTurn();
}
}
if (!roundFinished) {