From e9c2decd3c720d714956f656df0bb15c2faee2d4 Mon Sep 17 00:00:00 2001 From: magenoxx Date: Fri, 25 Feb 2011 20:54:54 +0300 Subject: [PATCH] Merged X value changes. Some UI fixes. --- .../src/mage/player/ai/ComputerPlayer6.java | 88 ++++++++++++------ .../src/mage/player/ai/SimulatedPlayer2.java | 66 ++++++++++--- Mage.Server/plugins/mage-player-ai-ma.jar | Bin 33301 -> 34101 bytes Mage.Tests/plugins/mage-player-ai-ma.jar | Bin 33300 -> 34248 bytes Mage.Tests/plugins/mage-player-aiminimax.jar | Bin 38184 -> 38189 bytes Mage.Tests/scenario5.txt | 4 +- .../mage/test/serverside/PlayGameTest.java | 14 ++- 7 files changed, 122 insertions(+), 50 deletions(-) diff --git a/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/ComputerPlayer6.java b/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/ComputerPlayer6.java index dde4e4f219..4a945e05f0 100644 --- a/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/ComputerPlayer6.java +++ b/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/ComputerPlayer6.java @@ -34,6 +34,10 @@ import mage.Constants.RangeOfInfluence; import mage.abilities.Ability; import mage.abilities.ActivatedAbility; import mage.abilities.common.PassAbility; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.costs.mana.ManaCost; +import mage.abilities.costs.mana.ManaCosts; +import mage.abilities.costs.mana.VariableManaCost; import mage.abilities.effects.Effect; import mage.abilities.effects.SearchEffect; import mage.cards.Card; @@ -59,8 +63,6 @@ import java.util.LinkedList; import java.util.List; import java.util.UUID; import java.util.concurrent.*; -import java.util.logging.Level; -import java.util.logging.Logger; /** * @@ -68,7 +70,7 @@ import java.util.logging.Logger; */ public class ComputerPlayer6 extends ComputerPlayer implements Player { - private static final transient Logger logger = Logging.getLogger(ComputerPlayer6.class.getName()); + private static final transient org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger(ComputerPlayer6.class); private static final ExecutorService pool = Executors.newFixedThreadPool(1); protected int maxDepth; @@ -122,6 +124,7 @@ public class ComputerPlayer6 extends ComputerPlayer implements case POSTCOMBAT_MAIN: if (game.getActivePlayerId().equals(playerId)) { printOutState(game, playerId); + printOutState(game, game.getOpponents(playerId).iterator().next()); if (actions.size() == 0) { calculateActions(game); } @@ -143,7 +146,7 @@ public class ComputerPlayer6 extends ComputerPlayer implements calculateActions(game); } act(game); - printOutState(game, playerId); + //printOutState(game, playerId); } else { pass(); } @@ -205,13 +208,13 @@ public class ComputerPlayer6 extends ComputerPlayer implements } protected void calculateActions(Game game) { - currentScore = GameStateEvaluator2.evaluate(playerId, game); if (!getNextAction(game)) { Game sim = createSimulation(game); SimulationNode2.resetCount(); root = new SimulationNode2(null, sim, maxDepth, playerId); logger.info("simulating actions"); //int bestScore = addActionsTimed(new FilterAbility()); + currentScore = GameStateEvaluator2.evaluate(playerId, game); addActionsTimed(new FilterAbility()); if (root.children.size() > 0) { root = root.children.get(0); @@ -333,7 +336,7 @@ public class ComputerPlayer6 extends ComputerPlayer implements SimulationNode2 newNode = new SimulationNode2(node, sim, depth, ability.getControllerId()); node.children.add(newNode); newNode.getTargets().add(targetId); - logger.fine("simulating search -- node#: " + SimulationNode2.getCount() + "for player: " + sim.getPlayer(ability.getControllerId()).getName()); + logger.debug("simulating search -- node#: " + SimulationNode2.getCount() + "for player: " + sim.getPlayer(ability.getControllerId()).getName()); } return; } @@ -355,7 +358,7 @@ public class ComputerPlayer6 extends ComputerPlayer implements }); pool.execute(task); try { - return task.get(Config2.maxThinkSeconds, TimeUnit.MINUTES); + return task.get(Config2.maxThinkSeconds, TimeUnit.SECONDS); } catch (TimeoutException e) { logger.info("simulating - timed out"); task.cancel(true); @@ -374,28 +377,29 @@ public class ComputerPlayer6 extends ComputerPlayer implements } protected int addActions(SimulationNode2 node, FilterAbility filter, int depth, int alpha, int beta) { - logger.fine("addActions: " + depth + ", alpha=" + alpha + ", beta=" + beta); + logger.debug("addActions: " + depth + ", alpha=" + alpha + ", beta=" + beta); Game game = node.getGame(); int val; if (Thread.interrupted()) { Thread.currentThread().interrupt(); - logger.info("interrupted"); val = GameStateEvaluator2.evaluate(playerId, game); + logger.info("interrupted - " + val); return val; } if (depth <= 0 || SimulationNode2.nodeCount > maxNodes || game.isGameOver()) { - logger.fine("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); + UUID currentPlayerId = node.getGame().getPlayerList().get(); + //logger.info("reached - " + val + ", playerId=" + playerId + ", node.pid="+currentPlayerId); return val; } else if (node.getChildren().size() > 0) { - logger.fine("simulating -- somthing added children:" + node.getChildren().size()); + logger.debug("simulating -- somthing added children:" + node.getChildren().size()); val = minimaxAB(node, filter, depth-1, alpha, beta); return val; } else { - if (logger.isLoggable(Level.FINE)) - logger.fine("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 (!game.getStack().isEmpty()) { resolve(node, depth, game); @@ -408,10 +412,9 @@ public class ComputerPlayer6 extends ComputerPlayer implements if (game.isGameOver()) { val = GameStateEvaluator2.evaluate(playerId, game); - } - else if (node.getChildren().size() > 0) { + } else if (node.getChildren().size() > 0) { //declared attackers or blockers or triggered abilities - logger.fine("simulating -- attack/block/trigger added children:" + node.getChildren().size()); + logger.debug("simulating -- attack/block/trigger added children:" + node.getChildren().size()); val = minimaxAB(node, filter, depth-1, alpha, beta); } else { @@ -419,8 +422,7 @@ public class ComputerPlayer6 extends ComputerPlayer implements } } - if (logger.isLoggable(Level.FINE)) - logger.fine("returning -- score: " + val + " depth:" + depth + " step:" + game.getTurn().getStepType() + " for player:" + game.getPlayer(node.getPlayerId()).getName()); + logger.debug("returning -- score: " + val + " depth:" + depth + " step:" + game.getTurn().getStepType() + " for player:" + game.getPlayer(node.getPlayerId()).getName()); return val; } @@ -436,8 +438,7 @@ public class ComputerPlayer6 extends ComputerPlayer implements //logger.info("simulating -- player " + currentPlayer.getName()); SimulationNode2 bestNode = null; List allActions = currentPlayer.simulatePriority(game, filter); - if (logger.isLoggable(Level.FINE)) - logger.fine("simulating -- adding " + allActions.size() + " children:" + allActions); + logger.debug("simulating -- adding " + allActions.size() + " children:" + allActions); for (Ability action: allActions) { Game sim = game.copy(); if (sim.getPlayer(currentPlayer.getId()).activateAbility((ActivatedAbility) action.copy(), sim)) { @@ -450,10 +451,15 @@ public class ComputerPlayer6 extends ComputerPlayer implements sim.getPlayerList().getNext(); } SimulationNode2 newNode = new SimulationNode2(node, sim, action, depth, currentPlayer.getId()); - if (logger.isLoggable(Level.FINE)) - logger.fine("simulating -- node #:" + SimulationNode2.getCount() + " actions:" + action); + logger.debug("simulating -- node #:" + SimulationNode2.getCount() + " actions:" + action); sim.checkStateAndTriggered(); + if (depth == 20) { + logger.info("*** Action *** " + action.toString()); + } int val = addActions(newNode, filter, depth-1, alpha, beta); + if (depth == 20) { + logger.info("*** Value *** " + val); + } if (!currentPlayer.getId().equals(playerId)) { if (val < beta) { beta = val; @@ -472,6 +478,18 @@ public class ComputerPlayer6 extends ComputerPlayer implements targets = node.getTargets(); if (node.getChoices().size() > 0) choices = node.getChoices(); + if (depth == 20) { + logger.info("saved"); + node.children.clear(); + node.children.add(bestNode); + node.setScore(bestNode.getScore()); + } + } + + // no need to check other actions + if (val == GameStateEvaluator2.WIN_GAME_SCORE) { + logger.info("win - break"); + break; } } if (alpha >= beta) { @@ -479,7 +497,7 @@ public class ComputerPlayer6 extends ComputerPlayer implements break; } if (SimulationNode2.nodeCount > maxNodes) { - logger.fine("simulating -- reached end-state"); + logger.debug("simulating -- reached end-state"); break; } } @@ -558,6 +576,20 @@ public class ComputerPlayer6 extends ComputerPlayer implements return true; } + @Override + public boolean playXMana(VariableManaCost cost, ManaCosts costs, Game game) { + //SimulatedPlayer.simulateVariableCosts method adds a generic mana cost for each option + for (ManaCost manaCost: costs) { + if (manaCost instanceof GenericManaCost) { + cost.setPayment(manaCost.getPayment()); + logger.debug("using X = " + cost.getPayment().count()); + break; + } + } + cost.setPaid(); + return true; + } + public void playNext(Game game, UUID activePlayerId, SimulationNode2 node) { boolean skip = false; while (true) { @@ -628,7 +660,7 @@ public class ComputerPlayer6 extends ComputerPlayer implements } sim.fireEvent(GameEvent.getEvent(GameEvent.EventType.DECLARED_ATTACKERS, playerId, playerId)); SimulationNode2 newNode = new SimulationNode2(node, sim, node.getDepth()-1, activePlayerId); - logger.info("simulating -- node #:" + SimulationNode2.getCount() + " declare attakers"); + logger.debug("simulating -- node #:" + SimulationNode2.getCount() + " declare attakers"); newNode.setCombat(sim.getCombat()); node.children.add(newNode); } @@ -652,7 +684,7 @@ public class ComputerPlayer6 extends ComputerPlayer implements } sim.fireEvent(GameEvent.getEvent(GameEvent.EventType.DECLARED_BLOCKERS, playerId, playerId)); SimulationNode2 newNode = new SimulationNode2(node, sim, node.getDepth()-1, defenderId); - logger.info("simulating -- node #:" + SimulationNode2.getCount() + " declare blockers"); + logger.debug("simulating -- node #:" + SimulationNode2.getCount() + " declare blockers"); newNode.setCombat(sim.getCombat()); node.children.add(newNode); } @@ -675,11 +707,11 @@ public class ComputerPlayer6 extends ComputerPlayer implements @Override public void selectAttackers(Game game) { - logger.info("selectAttackers"); + logger.debug("selectAttackers"); if (combat != null) { UUID opponentId = game.getCombat().getDefenders().iterator().next(); for (UUID attackerId: combat.getAttackers()) { - logger.info("declare attacker: " + game.getCard(attackerId).getName()); + logger.debug("declare attacker: " + game.getCard(attackerId).getName()); this.declareAttacker(attackerId, opponentId, game); } } @@ -687,7 +719,7 @@ public class ComputerPlayer6 extends ComputerPlayer implements @Override public void selectBlockers(Game game) { - logger.info("selectBlockers"); + logger.debug("selectBlockers"); if (combat != null && combat.getGroups().size() > 0) { List groups = game.getCombat().getGroups(); for (int i = 0; i < groups.size(); i++) { diff --git a/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/SimulatedPlayer2.java b/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/SimulatedPlayer2.java index 45eb92cb77..52e107a148 100644 --- a/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/SimulatedPlayer2.java +++ b/Mage.Server.Plugins/Mage.Player.AI.MA/src/mage/player/ai/SimulatedPlayer2.java @@ -35,11 +35,13 @@ import java.util.List; import java.util.Map; import java.util.UUID; import java.util.concurrent.ConcurrentLinkedQueue; -import java.util.logging.Level; -import java.util.logging.Logger; import mage.abilities.Ability; import mage.abilities.TriggeredAbility; import mage.abilities.common.PassAbility; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.costs.mana.ManaCost; +import mage.abilities.costs.mana.ManaCosts; +import mage.abilities.costs.mana.VariableManaCost; import mage.abilities.mana.ManaOptions; import mage.choices.Choice; import mage.filter.FilterAbility; @@ -50,6 +52,7 @@ import mage.game.permanent.Permanent; import mage.game.stack.StackAbility; import mage.target.Target; import mage.util.Logging; +import org.apache.log4j.Logger; /** * @@ -57,7 +60,7 @@ import mage.util.Logging; */ public class SimulatedPlayer2 extends ComputerPlayer { - private final static transient Logger logger = Logging.getLogger(SimulatedPlayer2.class.getName()); + private final static transient Logger logger = Logger.getLogger(SimulatedPlayer2.class); private boolean isSimulatedPlayer; private FilterAbility filter; private transient ConcurrentLinkedQueue allActions; @@ -101,13 +104,23 @@ public class SimulatedPlayer2 extends ComputerPlayer { for (Ability ability: playables) { List options = game.getPlayer(playerId).getPlayableOptions(ability, game); if (options.size() == 0) { - allActions.add(ability); + if (ability.getManaCosts().getVariableCosts().size() > 0) { + simulateVariableCosts(ability, game); + } + else { + allActions.add(ability); + } // simulateAction(game, previousActions, ability); } else { // ExecutorService simulationExecutor = Executors.newFixedThreadPool(4); for (Ability option: options) { - allActions.add(option); + if (ability.getManaCosts().getVariableCosts().size() > 0) { + simulateVariableCosts(option, game); + } + else { + allActions.add(option); + } // SimulationWorker worker = new SimulationWorker(game, this, previousActions, option); // simulationExecutor.submit(worker); } @@ -128,6 +141,31 @@ public class SimulatedPlayer2 extends ComputerPlayer { // } // } + //add a generic mana cost for each amount possible + protected void simulateVariableCosts(Ability ability, Game game) { + int numAvailable = getAvailableManaProducers(game).size(); + // Start with X = {1} + for (int i = 1; i < numAvailable; i++) { + Ability newAbility = ability.copy(); + newAbility.addManaCost(new GenericManaCost(i)); + allActions.add(newAbility); + } + } + + @Override + public boolean playXMana(VariableManaCost cost, ManaCosts costs, Game game) { + //simulateVariableCosts method adds a generic mana cost for each option + for (ManaCost manaCost: costs) { + if (manaCost instanceof GenericManaCost) { + cost.setPayment(manaCost.getPayment()); + logger.debug("simulating -- X = " + cost.getPayment().count()); + break; + } + } + cost.setPaid(); + return true; + } + public List addAttackers(Game game) { Map engagements = new HashMap(); //useful only for two player games - will only attack first opponent @@ -148,10 +186,10 @@ public class SimulatedPlayer2 extends ComputerPlayer { sim.getCombat().declareAttacker(attackersList.get(j).getId(), defenderId, sim); } if (engagements.put(sim.getCombat().getValue(sim), sim.getCombat()) != null) { - logger.fine("simulating -- found redundant attack combination"); + logger.debug("simulating -- found redundant attack combination"); } - else if (logger.isLoggable(Level.FINE)) { - logger.fine("simulating -- attack:" + sim.getCombat().getGroups().size()); + else { + logger.debug("simulating -- attack:" + sim.getCombat().getGroups().size()); } } return new ArrayList(engagements.values()); @@ -179,15 +217,14 @@ public class SimulatedPlayer2 extends ComputerPlayer { int numGroups = game.getCombat().getGroups().size(); //try to block each attacker with each potential blocker Permanent blocker = blockers.get(0); - if (logger.isLoggable(Level.FINE)) - logger.fine("simulating -- block:" + blocker); + logger.debug("simulating -- block:" + blocker); List remaining = remove(blockers, blocker); for (int i = 0; i < numGroups; i++) { if (game.getCombat().getGroups().get(i).canBlock(blocker, game)) { Game sim = game.copy(); sim.getCombat().getGroups().get(i).addBlocker(blocker.getId(), playerId, sim); if (engagements.put(sim.getCombat().getValue(sim), sim.getCombat()) != null) - logger.fine("simulating -- found redundant block combination"); + logger.debug("simulating -- found redundant block combination"); addBlocker(sim, remaining, engagements); // and recurse minus the used blocker } } @@ -199,8 +236,7 @@ public class SimulatedPlayer2 extends ComputerPlayer { Ability ability = source.copy(); List options = getPlayableOptions(ability, game); if (options.size() == 0) { - if (logger.isLoggable(Level.FINE)) - logger.fine("simulating -- triggered ability:" + ability); + logger.debug("simulating -- triggered ability:" + ability); game.getStack().push(new StackAbility(ability, playerId)); ability.activate(game, false); game.applyEffects(); @@ -210,7 +246,7 @@ public class SimulatedPlayer2 extends ComputerPlayer { SimulationNode2 parent = (SimulationNode2) game.getCustomData(); int depth = parent.getDepth() - 1; if (depth == 0) return true; - logger.fine("simulating -- triggered ability - adding children:" + options.size()); + logger.debug("simulating -- triggered ability - adding children:" + options.size()); for (Ability option: options) { addAbilityNode(parent, option, depth, game); } @@ -224,7 +260,7 @@ public class SimulatedPlayer2 extends ComputerPlayer { ability.activate(sim, false); sim.applyEffects(); SimulationNode2 newNode = new SimulationNode2(parent, sim, depth, playerId); - logger.fine("simulating -- node #:" + SimulationNode2.getCount() + " triggered ability option"); + logger.debug("simulating -- node #:" + SimulationNode2.getCount() + " triggered ability option"); for (Target target: ability.getTargets()) { for (UUID targetId: target.getTargets()) { newNode.getTargets().add(targetId); diff --git a/Mage.Server/plugins/mage-player-ai-ma.jar b/Mage.Server/plugins/mage-player-ai-ma.jar index 69ae3994e2fba1fcf3daa2cbb8c6a36f11029e43..457fe25f12fc0488669a159ff5ec8e5b4e48199e 100644 GIT binary patch delta 20419 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

~;btJr`Ac%7*WvKN745iT%H|lAW_}X6s6TCS?!k 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'x!#ck3NopL+3iYqSICSuT*fRn7^rTu}P)`&B^} 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 IoZl1w0#)lpJpcdz delta 19680 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 T(a;{H;3PdNbRbX<;>h|p1)v9A diff --git a/Mage.Tests/plugins/mage-player-aiminimax.jar b/Mage.Tests/plugins/mage-player-aiminimax.jar index a436a53d1985d41624df97359ef571317e2ca3a8..d37d42fcc630278a907f31bcdcb4ab79c8e478b4 100644 GIT binary patch delta 1127 zcmZ3nifQdCCf)#VW)?065U8n%oXD%fTU`@rCsemDCmSf#IMFUcyRuU?bE&1}%*sxI ziz2b>r{qi!O{-%2*p{{@W={+QLO)RB#M27QAnKhuh?*?Hs0E@oyD~mv0yDH&jzJio z*&La{BIaC%I$%b&nHEH3hUHmVut-MuHx@7>F~*M@%-ED30nyHzwF|;HmD4Q>mWpUH zVg)mL+h;Q|1HCd?yGsj9M|2s3>Ao&c=A$wGn{Rd1GI0VG*iHMj+P-*lLa%#0?}>w4 z%?3OS7pfQh7x=IyV*5LViW^527aQCVKQeRbfgJZWM*r*fJ=V^XiPZeu^0;rFSszY}yQi|g-gT)EbC!$!SHN#Wt*%#N3T$u85&T#?3=(_nIXcHB>odY7L+ zE}V;sW7iK%`z85z9HylpC$TcM2(M0lhRO2%JdA>qb^7H%VLREkUz*Wwa%R6Sm^ZUu znn{^u@`efWldtxJV`1`JpwJsOu#n~ih>+t1X(j_Muu$y;VR?}24DVR8y<}ow2m|^? z4emMyh9!+Dlh;o$RRF0e3Ys3>C(FQ~;LO0Ff}&=kCD1U1$tn|tz^<^ID9w}@KDj(x zRtFIZ91I{cI{&{@;o)Xr*eS-qppIfjRLtap7|qEiCh~wSE4z2)qbSfp-@*U2C%3Bp$G3x|5`t*s_2^l9Q7sNrHvyfkKCKz(QN0LKlHTflWXmiOKa%yco`U zUVr>&G|;v-76t}Y6x-U`!J5J+OM{by05G^!CQqC!Cl5-lNGcg5;2cmg2%KCnMSAkf z$vhb9^ib5b1JxO7BZm?&KiDbG@qDKXbWRyN1A{4CJt#IV1J%1Iz_SWat`vxEP}BtX dPA;5cGI?$nN2gX#QegfiOzLa z5P=vJq+%f!WKci)QJJpnmp?MlY(`KfC4xe%_r9y;^uoROoaa2}InO=!-mwwt{s_e{ zrr8`WVveNI3Ku_xFB+}Tr_F6r)fj4V>CdDV-qPu!t~ef;4cgasO>S3n@)2vMH4_DQ zzE5H^0&8i^4a6)7bDyADpC}S2IWPUeMraA*7nAclC@JELIUWyO-i70kl|o;XqW=H9R=*w;lhapM=KSE0llVs zuCWnL_Z@31Ybx^4a)YeERFXeZzG{-uo+WQ-#8momJ8ddes!NpWM{4!B`f;(HAAu8P z)@QGTmP_8wyqn0L)hu}piZ=@Rs&U+-Fw9Mxj746rK_;0p(#A{{casWfWH-b}%X%9{ zxviRC>I<>b=1IIa7PXsAcFtjz4vPM);H`tbKU>QfCGX|$B_xnUq3?OmadxiCR;}2g zM#Mh!3lkUr745ZEm#Q0fa4v(86%Hz=IFT7rA3rW1rVtX~3F5#Igzk16ggU33tZ>jN zq(mHO*Cv9M6DIpVbQd#JKh)FRhS&%>vBdr$iRDnzlsOQW#1QkA^B?|{BD8)Ap_Cw^ zgiDB>1F?jtnm-)+6`MM-L(!_m#B}&Lz$4DS4G5`T9fp!1!xcjyy-P?{nxWM!f@T+w z$X)ZTr0~KKn%sj>TF~5b3p80Wz~l1E&EwvCHn?+L01LKgI1Ai;{zqg9W?r;lL($k! zuya&{=?Rci!;@~`OIYOMv@s5$cGdQ#XE1bKL#$OF?K-r^LCDNUC^^U)-HCNz77Udg2ByW{v cards, String name, int count) {