summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/control/turn/BaseAIControl.java
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2011-06-07 00:23:00 +0200
committerMatthias Schiffer <mschiffer@universe-factory.net>2011-06-07 00:23:00 +0200
commitaf3661fea084df6e089c2597dc4b311c77f39e4f (patch)
tree85984ed5b225dfe2d24f602d9074ad2228b7c05e /src/jrummikub/control/turn/BaseAIControl.java
parentc59332950be525408da7b2e66687603a68cb560b (diff)
downloadJRummikub-af3661fea084df6e089c2597dc4b311c77f39e4f.tar
JRummikub-af3661fea084df6e089c2597dc4b311c77f39e4f.zip
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
Diffstat (limited to 'src/jrummikub/control/turn/BaseAIControl.java')
-rw-r--r--src/jrummikub/control/turn/BaseAIControl.java16
1 files changed, 8 insertions, 8 deletions
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<Stone, Position> entry : player.getHand()) {
+ for (Pair<Stone, Position> entry : turnInfo.getHand()) {
Stone stone = entry.getFirst();
if (stone.getValue() == target.getValue()
&& stone.getColor() == target.getColor()) {
return stone;
}
}
- for (Pair<Stone, Position> entry : player.getHand()) {
+ for (Pair<Stone, Position> 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<Stone> stones = new ArrayList<Stone>();
- for (Pair<Stone, Position> entry : player.getHand()) {
+ for (Pair<Stone, Position> 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) {