From dcaf1c941ab44ef61b471732569dac7c6d21c570 Mon Sep 17 00:00:00 2001 From: Maxmtg Date: Sun, 10 Mar 2013 12:28:44 +0000 Subject: [PATCH] flipCoin should not have get out of its executor class --- .../java/forge/card/ability/AbilityUtils.java | 27 ---------------- .../card/ability/effects/FlipCoinEffect.java | 31 ++++++++++++++++++- 2 files changed, 30 insertions(+), 28 deletions(-) diff --git a/src/main/java/forge/card/ability/AbilityUtils.java b/src/main/java/forge/card/ability/AbilityUtils.java index 04b607e8500..72dc909e1af 100644 --- a/src/main/java/forge/card/ability/AbilityUtils.java +++ b/src/main/java/forge/card/ability/AbilityUtils.java @@ -4,7 +4,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import javax.swing.JOptionPane; import org.apache.commons.lang3.StringUtils; @@ -26,12 +25,10 @@ import forge.game.GameActionUtil; import forge.game.GameState; import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtilCost; -import forge.game.event.FlipCoinEvent; import forge.game.player.AIPlayer; import forge.game.player.Player; import forge.game.zone.ZoneType; import forge.util.Expressions; -import forge.util.MyRandom; /** * TODO: Write javadoc for this type. @@ -1257,28 +1254,4 @@ public class AbilityUtils { return CardFactoryUtil.xCount(c, s); } - /** - *

- * flipACoin without call. - *

- * - * @param source - * a {@link forge.Card} object. - * @return a boolean. - */ - public static boolean flipCoin(final Card source) { - final boolean resultIsHeads = MyRandom.getRandom().nextBoolean(); - - Singletons.getModel().getGame().getEvents().post(new FlipCoinEvent()); - final StringBuilder msgTitle = new StringBuilder(); - msgTitle.append(source); - msgTitle.append(" Flip result:"); - final StringBuilder result = new StringBuilder(); - result.append("Flip comes up"); - result.append(resultIsHeads ? " heads." : " tails."); - JOptionPane.showMessageDialog(null, result, msgTitle.toString(), JOptionPane.PLAIN_MESSAGE); - - return resultIsHeads; - } - } diff --git a/src/main/java/forge/card/ability/effects/FlipCoinEffect.java b/src/main/java/forge/card/ability/effects/FlipCoinEffect.java index 7b4e436adf2..17ba22029df 100644 --- a/src/main/java/forge/card/ability/effects/FlipCoinEffect.java +++ b/src/main/java/forge/card/ability/effects/FlipCoinEffect.java @@ -2,14 +2,19 @@ package forge.card.ability.effects; import java.util.List; +import javax.swing.JOptionPane; + import forge.Card; +import forge.Singletons; import forge.card.ability.AbilityFactory; import forge.card.ability.AbilityUtils; import forge.card.ability.SpellAbilityEffect; import forge.card.spellability.AbilitySub; import forge.card.spellability.SpellAbility; +import forge.game.event.FlipCoinEvent; import forge.game.player.Player; import forge.gui.GuiDialog; +import forge.util.MyRandom; public class FlipCoinEffect extends SpellAbilityEffect { @@ -51,7 +56,7 @@ public class FlipCoinEffect extends SpellAbilityEffect { } if (noCall) { - final boolean resultIsHeads = AbilityUtils.flipCoin(sa.getSourceCard()); + final boolean resultIsHeads = FlipCoinEffect.flipCoin(sa.getSourceCard()); System.out.println("Flipped coin result:" + (resultIsHeads ? " Heads" : " Tails")); if (resultIsHeads) { @@ -102,4 +107,28 @@ public class FlipCoinEffect extends SpellAbilityEffect { // AllZone.getTriggerHandler().runTrigger("FlipsACoin",runParams); } + /** + *

+ * flipACoin without call. + *

+ * + * @param source + * a {@link forge.Card} object. + * @return a boolean. + */ + private static boolean flipCoin(final Card source) { + final boolean resultIsHeads = MyRandom.getRandom().nextBoolean(); + + Singletons.getModel().getGame().getEvents().post(new FlipCoinEvent()); + final StringBuilder msgTitle = new StringBuilder(); + msgTitle.append(source); + msgTitle.append(" Flip result:"); + final StringBuilder result = new StringBuilder(); + result.append("Flip comes up"); + result.append(resultIsHeads ? " heads." : " tails."); + JOptionPane.showMessageDialog(null, result, msgTitle.toString(), JOptionPane.PLAIN_MESSAGE); + + return resultIsHeads; + } + }