From 85e1f68554411f69c9031313e7b9617fa1d55115 Mon Sep 17 00:00:00 2001 From: BetaSteward Date: Mon, 21 Feb 2011 00:20:36 -0500 Subject: [PATCH] another AI fix --- .../src/mage/player/ai/ComputerPlayer3.java | 18 ++++++++++-------- .../mage/player/ai/GameStateEvaluator.java | 2 +- Mage.Server/plugins/mage-player-aiminimax.jar | Bin 36861 -> 36881 bytes Mage.Tests/plugins/mage-player-aiminimax.jar | Bin 36885 -> 36881 bytes 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/Mage.Server.Plugins/Mage.Player.AIMinimax/src/mage/player/ai/ComputerPlayer3.java b/Mage.Server.Plugins/Mage.Player.AIMinimax/src/mage/player/ai/ComputerPlayer3.java index 5400751b70..67ec0288cb 100644 --- a/Mage.Server.Plugins/Mage.Player.AIMinimax/src/mage/player/ai/ComputerPlayer3.java +++ b/Mage.Server.Plugins/Mage.Player.AIMinimax/src/mage/player/ai/ComputerPlayer3.java @@ -160,6 +160,7 @@ public class ComputerPlayer3 extends ComputerPlayer2 implements Player { logger.debug("simulating pre combat actions -----------------------------------------------------------------------------------------"); addActionsTimed(new FilterAbility()); +// addActions(root, new FilterAbility(), maxDepth, Integer.MIN_VALUE, Integer.MAX_VALUE); if (root.children.size() > 0) { root = root.children.get(0); actions = new LinkedList(root.abilities); @@ -176,6 +177,7 @@ public class ComputerPlayer3 extends ComputerPlayer2 implements Player { root = new SimulationNode(null, sim, maxDepth, playerId); logger.debug("simulating post combat actions ----------------------------------------------------------------------------------------"); addActionsTimed(new FilterAbility()); +// addActions(root, new FilterAbility(), maxDepth, Integer.MIN_VALUE, Integer.MAX_VALUE); if (root.children.size() > 0) { root = root.children.get(0); actions = new LinkedList(root.abilities); @@ -296,8 +298,8 @@ public class ComputerPlayer3 extends ComputerPlayer2 implements Player { } else if (!counter) { finishCombat(game); - val = GameStateEvaluator.evaluate(playerId, game); -// val = simulateCounterAttack(game, node, depth, alpha, beta); +// val = GameStateEvaluator.evaluate(playerId, game); + val = simulateCounterAttack(game, node, depth, alpha, beta); } } if (val == null) @@ -326,16 +328,16 @@ public class ComputerPlayer3 extends ComputerPlayer2 implements Player { break; } Game sim = game.copy(); - UUID defenderId = game.getOpponents(playerId).iterator().next(); + UUID defenderId = game.getOpponents(attackerId).iterator().next(); for (CombatGroup group: engagement.getGroups()) { for (UUID attackId: group.getAttackers()) { sim.getPlayer(attackerId).declareAttacker(attackId, defenderId, sim); } } - sim.fireEvent(GameEvent.getEvent(GameEvent.EventType.DECLARED_ATTACKERS, playerId, playerId)); + sim.fireEvent(GameEvent.getEvent(GameEvent.EventType.DECLARED_ATTACKERS, attackerId, attackerId)); SimulationNode newNode = new SimulationNode(node, sim, depth, attackerId); if (logger.isDebugEnabled()) - logger.debug("simulating attack for player:" + game.getPlayer(newNode.getPlayerId()).getName()); + logger.debug("simulating attack for player:" + game.getPlayer(attackerId).getName()); sim.checkStateAndTriggered(); while (!sim.getStack().isEmpty()) { sim.getStack().resolve(sim); @@ -399,10 +401,10 @@ public class ComputerPlayer3 extends ComputerPlayer2 implements Player { } } } - sim.fireEvent(GameEvent.getEvent(GameEvent.EventType.DECLARED_BLOCKERS, playerId, playerId)); + sim.fireEvent(GameEvent.getEvent(GameEvent.EventType.DECLARED_BLOCKERS, defenderId, defenderId)); SimulationNode newNode = new SimulationNode(node, sim, depth, defenderId); if (logger.isDebugEnabled()) - logger.debug("simulating block for player:" + game.getPlayer(newNode.getPlayerId()).getName()); + logger.debug("simulating block for player:" + game.getPlayer(defenderId).getName()); sim.checkStateAndTriggered(); while (!sim.getStack().isEmpty()) { sim.getStack().resolve(sim); @@ -455,9 +457,9 @@ public class ComputerPlayer3 extends ComputerPlayer2 implements Player { } Integer val = null; if (!game.isGameOver()) { - logger.debug("simulating -- counter attack"); simulateToEnd(game); game.getState().setActivePlayerId(game.getState().getPlayerList(game.getActivePlayerId()).getNext()); + logger.debug("simulating -- counter attack for player " + game.getPlayer(game.getActivePlayerId()).getName()); game.getTurn().setPhase(new BeginningPhase()); if (game.getPhase().beginPhase(game, game.getActivePlayerId())) { simulateStep(game, new UntapStep()); diff --git a/Mage.Server.Plugins/Mage.Player.AIMinimax/src/mage/player/ai/GameStateEvaluator.java b/Mage.Server.Plugins/Mage.Player.AIMinimax/src/mage/player/ai/GameStateEvaluator.java index 90a8b0ec58..5e02552540 100644 --- a/Mage.Server.Plugins/Mage.Player.AIMinimax/src/mage/player/ai/GameStateEvaluator.java +++ b/Mage.Server.Plugins/Mage.Player.AIMinimax/src/mage/player/ai/GameStateEvaluator.java @@ -59,7 +59,7 @@ public class GameStateEvaluator { int score = lifeScore + permanentScore + handScore; if (logger.isDebugEnabled()) - logger.debug("game state evaluated to- lifeScore:" + lifeScore + " permanentScore:" + permanentScore + " handScore:" + handScore + " total:" + score); + logger.debug("game state for player " + player.getName() + " evaluated to- lifeScore:" + lifeScore + " permanentScore:" + permanentScore + " handScore:" + handScore + " total:" + score); return score; } diff --git a/Mage.Server/plugins/mage-player-aiminimax.jar b/Mage.Server/plugins/mage-player-aiminimax.jar index 72624ad402916fa991961c0a67da6ce64f3235f6..cbb118befec148ce23c66d3192360d7c1fee8a83 100644 GIT binary patch delta 11140 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 vrhtG`$l$vFjgtRYWdGhO-Y-e