1
0
Fork 0
mirror of https://github.com/correl/mage.git synced 2025-04-02 11:25:59 -09:00

Samll changes to ComputerPlayer logging, FromZone Pick for CardImpl added.

This commit is contained in:
LevelX2 2013-02-21 01:22:10 +01:00
parent ea6a094aa2
commit f75575f99b
2 changed files with 9 additions and 6 deletions
Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai
Mage/src/mage/cards

View file

@ -276,7 +276,7 @@ public class ComputerPlayer6 extends ComputerPlayer<ComputerPlayer6> implements
//System.out.println("[" + game.getPlayer(playerId).getName() + "] Action: not better score"); //System.out.println("[" + game.getPlayer(playerId).getName() + "] Action: not better score");
//} //}
} else { } else {
System.out.println("[" + game.getPlayer(playerId).getName() + "] Action: skip"); logger.info("[" + game.getPlayer(playerId).getName() + "] Action: skip");
} }
} }
} }
@ -454,17 +454,17 @@ public class ComputerPlayer6 extends ComputerPlayer<ComputerPlayer6> implements
return val; return val;
} }
if (depth <= 0 || SimulationNode2.nodeCount > maxNodes || game.isGameOver()) { if (depth <= 0 || SimulationNode2.nodeCount > maxNodes || game.isGameOver()) {
logger.debug("simulating -- reached end state, node count=" + SimulationNode2.nodeCount + ", depth=" + depth); logger.debug("Simulating -- reached end state, node count=" + SimulationNode2.nodeCount + ", depth=" + depth);
val = GameStateEvaluator2.evaluate(playerId, game); val = GameStateEvaluator2.evaluate(playerId, game);
UUID currentPlayerId = node.getGame().getPlayerList().get(); UUID currentPlayerId = node.getGame().getPlayerList().get();
//logger.info("reached - " + val + ", playerId=" + playerId + ", node.pid="+currentPlayerId); //logger.info("reached - " + val + ", playerId=" + playerId + ", node.pid="+currentPlayerId);
return val; return val;
} else if (node.getChildren().size() > 0) { } else if (node.getChildren().size() > 0) {
logger.debug("simulating -- something added children:" + node.getChildren().size()); logger.debug("Simulating -- something added children:" + node.getChildren().size());
val = minimaxAB(node, depth - 1, alpha, beta); val = minimaxAB(node, depth - 1, alpha, beta);
return val; return val;
} else { } else {
logger.debug("simulating -- alpha: " + alpha + " beta: " + beta + " depth:" + depth + " step:" + game.getTurn().getStepType() + " for player:" + (node.getPlayerId().equals(playerId) ? "yes" : "no")); logger.debug("Simulating -- alpha: " + alpha + " beta: " + beta + " depth:" + depth + " step:" + game.getTurn().getStepType() + " for player:" + (node.getPlayerId().equals(playerId) ? "yes" : "no"));
if (allPassed(game)) { if (allPassed(game)) {
if (!game.getStack().isEmpty()) { if (!game.getStack().isEmpty()) {
resolve(node, depth, game); resolve(node, depth, game);
@ -554,7 +554,7 @@ public class ComputerPlayer6 extends ComputerPlayer<ComputerPlayer6> implements
* choices = node.getChoices(); * choices = node.getChoices();
*/ */
if (depth == maxDepth) { if (depth == maxDepth) {
logger.info("saved"); logger.info(new StringBuilder("Saved (depth=").append(depth).append(") Score: ").append(bestNode.getScore()).toString());
node.children.clear(); node.children.clear();
node.children.add(bestNode); node.children.add(bestNode);
node.setScore(bestNode.getScore()); node.setScore(bestNode.getScore());

View file

@ -430,8 +430,11 @@ public abstract class CardImpl<T extends CardImpl<T>> extends MageObjectImpl<T>
game.getExile().removeCard(this, game); game.getExile().removeCard(this, game);
removed = true; removed = true;
break; break;
case PICK:
removed = true;
break;
default: default:
//logger.warning("putOntoBattlefield, not fully implemented: from="+fromZone); logger.warn("putOntoBattlefield, not fully implemented: fromZone="+fromZone);
} }
game.rememberLKI(objectId, event.getFromZone(), this); game.rememberLKI(objectId, event.getFromZone(), this);
if (!removed) { if (!removed) {