From af3661fea084df6e089c2597dc4b311c77f39e4f Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Tue, 7 Jun 2011 00:23:00 +0200 Subject: Always operate on cloned hands in the turn controls git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@380 72836036-5685-4462-b002-a69064685172 --- src/jrummikub/control/turn/BaseAIControl.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'src/jrummikub/control/turn/BaseAIControl.java') diff --git a/src/jrummikub/control/turn/BaseAIControl.java b/src/jrummikub/control/turn/BaseAIControl.java index d06e263..dabdc81 100644 --- a/src/jrummikub/control/turn/BaseAIControl.java +++ b/src/jrummikub/control/turn/BaseAIControl.java @@ -63,7 +63,7 @@ public class BaseAIControl extends AbstractTurnControl { } private void compute() { - switch (turnMode) { + switch (turnInfo.getTurnMode()) { case MAY_REDEAL: emitRedeal(); break; @@ -77,14 +77,14 @@ public class BaseAIControl extends AbstractTurnControl { } private Stone findMatchingStone(Stone target) { - for (Pair entry : player.getHand()) { + for (Pair entry : turnInfo.getHand()) { Stone stone = entry.getFirst(); if (stone.getValue() == target.getValue() && stone.getColor() == target.getColor()) { return stone; } } - for (Pair entry : player.getHand()) { + for (Pair entry : turnInfo.getHand()) { Stone stone = entry.getFirst(); if (stone.isJoker()) { return stone; @@ -95,14 +95,14 @@ public class BaseAIControl extends AbstractTurnControl { private Stone pickUpMatchingStone(Stone target) { Stone match = findMatchingStone(target); - player.getHand().pickUp(match); + turnInfo.getHand().pickUp(match); return match; } private void turn() { List stones = new ArrayList(); - for (Pair entry : player.getHand()) { + for (Pair entry : turnInfo.getHand()) { stones.add(entry.getFirst()); } @@ -115,7 +115,7 @@ public class BaseAIControl extends AbstractTurnControl { Math.max(30, settings.getInitialMeldThreshold() * 2), counts.getFirst(), counts.getSecond()); - if (!player.getLaidOut() + if (!turnInfo.getLaidOut() && result.getSecond() < settings.getInitialMeldThreshold()) { emitEndOfTurn(); return; @@ -126,7 +126,7 @@ public class BaseAIControl extends AbstractTurnControl { for (Stone stone : set) { handStones.add(pickUpMatchingStone(stone)); } - table.drop(new StoneSet(handStones), new Position( + turnInfo.getTable().drop(new StoneSet(handStones), new Position( (float) Math.random() * 30 - 15, (float) Math.random() * 6 - 3)); } @@ -148,7 +148,7 @@ public class BaseAIControl extends AbstractTurnControl { private void emitEndOfTurn() { long timeElapsed = System.currentTimeMillis() - startTime; long timeNeeded = Math.min((long) (1000 + Math.random() - * player.getHand().getSize() * 100), 50000); + * turnInfo.getHand().getSize() * 100), 50000); long waitTime = timeNeeded - timeElapsed; if (waitTime > 0) { -- cgit v1.2.3