From c902998fa09e0debeddfe80c604ec3ed29f729a6 Mon Sep 17 00:00:00 2001 From: BetaSteward Date: Tue, 22 Nov 2011 13:56:00 -0500 Subject: [PATCH] fixed monte carlo NPE's --- .../src/mage/player/ai/MCTSNode.java | 2 +- Mage.Server/plugins/mage-player-aimcts.jar | Bin 22510 -> 22515 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/Mage.Server.Plugins/Mage.Player.AIMCTS/src/mage/player/ai/MCTSNode.java b/Mage.Server.Plugins/Mage.Player.AIMCTS/src/mage/player/ai/MCTSNode.java index 82dc47d2dc4..5788c684caa 100644 --- a/Mage.Server.Plugins/Mage.Player.AIMCTS/src/mage/player/ai/MCTSNode.java +++ b/Mage.Server.Plugins/Mage.Player.AIMCTS/src/mage/player/ai/MCTSNode.java @@ -271,7 +271,7 @@ public class MCTSNode { for (MCTSNode node: children) { // logger.info(state); // logger.info(node.stateValue); - if (node.stateValue == state) { + if (node.stateValue == state && node.action != null) { return node; } MCTSNode match = node.getMatchingState(state); diff --git a/Mage.Server/plugins/mage-player-aimcts.jar b/Mage.Server/plugins/mage-player-aimcts.jar index 7e274e6e37850231350bcd6594834cddbd3836e2..d3e362bd834b1ba74d29821e0c944531fe35c07c 100644 GIT binary patch delta 5602 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 delta 5644 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