flipCoin should not have get out of its executor class

This commit is contained in:
Maxmtg
2013-03-10 12:28:44 +00:00
parent f91f0984cb
commit dcaf1c941a
2 changed files with 30 additions and 28 deletions

View File

@@ -4,7 +4,6 @@ import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import javax.swing.JOptionPane;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@@ -26,12 +25,10 @@ import forge.game.GameActionUtil;
import forge.game.GameState; import forge.game.GameState;
import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtil;
import forge.game.ai.ComputerUtilCost; import forge.game.ai.ComputerUtilCost;
import forge.game.event.FlipCoinEvent;
import forge.game.player.AIPlayer; import forge.game.player.AIPlayer;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
import forge.util.Expressions; import forge.util.Expressions;
import forge.util.MyRandom;
/** /**
* TODO: Write javadoc for this type. * TODO: Write javadoc for this type.
@@ -1257,28 +1254,4 @@ public class AbilityUtils {
return CardFactoryUtil.xCount(c, s); return CardFactoryUtil.xCount(c, s);
} }
/**
* <p>
* flipACoin without call.
* </p>
*
* @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;
}
} }

View File

@@ -2,14 +2,19 @@ package forge.card.ability.effects;
import java.util.List; import java.util.List;
import javax.swing.JOptionPane;
import forge.Card; import forge.Card;
import forge.Singletons;
import forge.card.ability.AbilityFactory; import forge.card.ability.AbilityFactory;
import forge.card.ability.AbilityUtils; import forge.card.ability.AbilityUtils;
import forge.card.ability.SpellAbilityEffect; import forge.card.ability.SpellAbilityEffect;
import forge.card.spellability.AbilitySub; import forge.card.spellability.AbilitySub;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.game.event.FlipCoinEvent;
import forge.game.player.Player; import forge.game.player.Player;
import forge.gui.GuiDialog; import forge.gui.GuiDialog;
import forge.util.MyRandom;
public class FlipCoinEffect extends SpellAbilityEffect { public class FlipCoinEffect extends SpellAbilityEffect {
@@ -51,7 +56,7 @@ public class FlipCoinEffect extends SpellAbilityEffect {
} }
if (noCall) { 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")); System.out.println("Flipped coin result:" + (resultIsHeads ? " Heads" : " Tails"));
if (resultIsHeads) { if (resultIsHeads) {
@@ -102,4 +107,28 @@ public class FlipCoinEffect extends SpellAbilityEffect {
// AllZone.getTriggerHandler().runTrigger("FlipsACoin",runParams); // AllZone.getTriggerHandler().runTrigger("FlipsACoin",runParams);
} }
/**
* <p>
* flipACoin without call.
* </p>
*
* @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;
}
} }