mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +00:00
flipCoin should not have get out of its executor class
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
* <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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
* <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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user