wrapped calls to JOptionPane in effects

This commit is contained in:
Maxmtg
2013-04-05 06:53:03 +00:00
parent 4e85736756
commit f71395a303
10 changed files with 20 additions and 57 deletions

View File

@@ -3,8 +3,6 @@ package forge.card.ability.effects;
import java.util.List; import java.util.List;
import java.util.Random; import java.util.Random;
import javax.swing.JOptionPane;
import forge.Card; import forge.Card;
import forge.card.ability.SpellAbilityEffect; import forge.card.ability.SpellAbilityEffect;
import forge.card.cardfactory.CardFactoryUtil; import forge.card.cardfactory.CardFactoryUtil;
@@ -12,6 +10,7 @@ import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.player.Player; import forge.game.player.Player;
import forge.gui.GuiChoose; import forge.gui.GuiChoose;
import forge.gui.GuiDialog;
public class ChooseNumberEffect extends SpellAbilityEffect { public class ChooseNumberEffect extends SpellAbilityEffect {
@@ -74,7 +73,7 @@ public class ChooseNumberEffect extends SpellAbilityEffect {
final Random randomGen = new Random(); final Random randomGen = new Random();
chosen = randomGen.nextInt(max - min) + min; chosen = randomGen.nextInt(max - min) + min;
final String message = "Randomly chosen number: " + chosen; final String message = "Randomly chosen number: " + chosen;
JOptionPane.showMessageDialog(null, message, "" + card, JOptionPane.PLAIN_MESSAGE); GuiDialog.message(message, card.toString());
} else if (sa.hasParam("ListTitle")) { } else if (sa.hasParam("ListTitle")) {
final Object o = GuiChoose.one(sa.getParam("ListTitle"), choices); final Object o = GuiChoose.one(sa.getParam("ListTitle"), choices);
if (null == o) { if (null == o) {

View File

@@ -2,8 +2,6 @@ package forge.card.ability.effects;
import java.util.HashMap; import java.util.HashMap;
import javax.swing.JOptionPane;
import forge.Card; import forge.Card;
import forge.Singletons; import forge.Singletons;
import forge.card.ability.AbilityFactory; import forge.card.ability.AbilityFactory;
@@ -16,6 +14,7 @@ import forge.game.GameAction;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.PlayerZone; import forge.game.zone.PlayerZone;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
import forge.gui.GuiDialog;
public class ClashEffect extends SpellAbilityEffect { public class ClashEffect extends SpellAbilityEffect {
@@ -122,11 +121,9 @@ public class ClashEffect extends SpellAbilityEffect {
} else { } else {
reveal.append(player).append(" loses clash."); reveal.append(player).append(" loses clash.");
} }
JOptionPane.showMessageDialog(null, reveal.toString(), source.getName(), JOptionPane.PLAIN_MESSAGE); GuiDialog.message(reveal.toString(), source.getName());
clashMoveToTopOrBottom(player, pCard); clashMoveToTopOrBottom(player, pCard);
clashMoveToTopOrBottom(opponent, oCard); clashMoveToTopOrBottom(opponent, oCard);
// JOptionPane.showMessageDialog(null, reveal.toString(),
// source.getName(), JOptionPane.PLAIN_MESSAGE);
return pCMC > oCMC; return pCMC > oCMC;
} }
} }

View File

@@ -2,8 +2,6 @@ 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.Singletons;
import forge.card.ability.AbilityFactory; import forge.card.ability.AbilityFactory;
@@ -127,14 +125,11 @@ public class FlipCoinEffect extends SpellAbilityEffect {
final boolean resultIsHeads = MyRandom.getRandom().nextBoolean(); final boolean resultIsHeads = MyRandom.getRandom().nextBoolean();
Singletons.getModel().getGame().getEvents().post(new FlipCoinEvent()); Singletons.getModel().getGame().getEvents().post(new FlipCoinEvent());
final StringBuilder msgTitle = new StringBuilder();
msgTitle.append(source);
msgTitle.append(" Flip result:");
final StringBuilder result = new StringBuilder(); final StringBuilder result = new StringBuilder();
result.append(flipper.getName()); result.append(flipper.getName());
result.append("'s flip comes up"); result.append("'s flip comes up");
result.append(resultIsHeads ? " heads." : " tails."); result.append(resultIsHeads ? " heads." : " tails.");
JOptionPane.showMessageDialog(null, result, msgTitle.toString(), JOptionPane.PLAIN_MESSAGE); GuiDialog.message(result.toString(), source + " Flip result:");
return resultIsHeads; return resultIsHeads;
} }

View File

@@ -3,8 +3,6 @@ package forge.card.ability.effects;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import javax.swing.JOptionPane;
import forge.Card; import forge.Card;
import forge.CardLists; import forge.CardLists;
import forge.CardUtil; import forge.CardUtil;
@@ -16,6 +14,7 @@ import forge.card.spellability.SpellAbility;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
import forge.gui.GuiChoose; import forge.gui.GuiChoose;
import forge.gui.GuiDialog;
public class ProtectAllEffect extends SpellAbilityEffect { public class ProtectAllEffect extends SpellAbilityEffect {
@@ -54,7 +53,7 @@ public class ProtectAllEffect extends SpellAbilityEffect {
// TODO - needs improvement // TODO - needs improvement
final String choice = choices.get(0); final String choice = choices.get(0);
gains.add(choice); gains.add(choice);
JOptionPane.showMessageDialog(null, "Computer chooses " + gains, "" + host, JOptionPane.PLAIN_MESSAGE); GuiDialog.message("Computer chooses " + gains, host.toString());
} }
} else { } else {
if (sa.getParam("Gains").equals("ChosenColor")) { if (sa.getParam("Gains").equals("ChosenColor")) {

View File

@@ -4,8 +4,6 @@ import java.util.ArrayList;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import javax.swing.JOptionPane;
import forge.Card; import forge.Card;
import forge.CardLists; import forge.CardLists;
import forge.CardUtil; import forge.CardUtil;
@@ -18,6 +16,7 @@ import forge.card.spellability.Target;
import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCard;
import forge.game.player.Player; import forge.game.player.Player;
import forge.gui.GuiChoose; import forge.gui.GuiChoose;
import forge.gui.GuiDialog;
public class ProtectEffect extends SpellAbilityEffect { public class ProtectEffect extends SpellAbilityEffect {
@@ -129,7 +128,7 @@ public class ProtectEffect extends SpellAbilityEffect {
} }
} }
gains.add(choice); gains.add(choice);
JOptionPane.showMessageDialog(null, "Computer chooses " + gains, "" + host, JOptionPane.PLAIN_MESSAGE); GuiDialog.message("Computer chooses " + gains, host.toString());
} }
} else { } else {
if (sa.getParam("Gains").equals("ChosenColor")) { if (sa.getParam("Gains").equals("ChosenColor")) {

View File

@@ -2,15 +2,12 @@ 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.card.ability.SpellAbilityEffect; import forge.card.ability.SpellAbilityEffect;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
import forge.gui.GuiChoose;
public class RevealHandEffect extends SpellAbilityEffect { public class RevealHandEffect extends SpellAbilityEffect {
@@ -43,19 +40,7 @@ public class RevealHandEffect extends SpellAbilityEffect {
for (final Player p : getTargetPlayers(sa)) { for (final Player p : getTargetPlayers(sa)) {
if ((tgt == null) || p.canBeTargetedBy(sa)) { if ((tgt == null) || p.canBeTargetedBy(sa)) {
final List<Card> hand = p.getCardsIn(ZoneType.Hand); final List<Card> hand = p.getCardsIn(ZoneType.Hand);
if (sa.getActivatingPlayer().isHuman()) { sa.getActivatingPlayer().getController().reveal(p.getName() + "'s hand", hand, ZoneType.Hand, p);
if (hand.size() > 0) {
GuiChoose.one(p + "'s hand", hand);
} else {
final StringBuilder sb = new StringBuilder();
sb.append(p).append("'s hand is empty!");
javax.swing.JOptionPane.showMessageDialog(null, sb.toString(), p + "'s hand",
JOptionPane.INFORMATION_MESSAGE);
}
} else {
// reveal to Computer (when computer can keep track of seen
// cards...)
}
if (sa.hasParam("RememberRevealed")) { if (sa.hasParam("RememberRevealed")) {
for (final Card c : hand) { for (final Card c : hand) {
host.addRemembered(c); host.addRemembered(c);

View File

@@ -3,8 +3,6 @@ package forge.card.ability.effects;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import javax.swing.JOptionPane;
import forge.Card; import forge.Card;
import forge.CardLists; import forge.CardLists;
import forge.card.ability.AbilityFactory; import forge.card.ability.AbilityFactory;
@@ -17,6 +15,7 @@ import forge.game.ai.ComputerUtilCard;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
import forge.gui.GuiChoose; import forge.gui.GuiChoose;
import forge.gui.GuiDialog;
public class TwoPilesEffect extends SpellAbilityEffect { public class TwoPilesEffect extends SpellAbilityEffect {
@@ -178,16 +177,9 @@ public class TwoPilesEffect extends SpellAbilityEffect {
if (chooser.isHuman()) { if (chooser.isHuman()) {
final String p1Str = String.format("Pile 1 (%s cards)", pile1.size()); final String p1Str = String.format("Pile 1 (%s cards)", pile1.size());
final String p2Str = String.format("Pile 2 (%s cards)", pile2.size()); final String p2Str = String.format("Pile 2 (%s cards)", pile2.size());
final String[] possibleValues = { p1Str , p2Str };
final String message = String.format("Choose a pile\n%s or %s", p1Str, p2Str); pile1WasChosen = GuiDialog.confirm(card, "Choose a Pile", possibleValues);
final Object[] possibleValues = { p1Str , p2Str };
final Object playDraw = JOptionPane.showOptionDialog(null, message, "Choose a Pile",
JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE, null,
possibleValues, possibleValues[0]);
pile1WasChosen = playDraw.equals(0);
} }
else { else {
// AI will choose the first pile if it is larger or the same // AI will choose the first pile if it is larger or the same
@@ -237,13 +229,7 @@ public class TwoPilesEffect extends SpellAbilityEffect {
if ("Worst".equals(sa.getParam("AILogic"))) { if ("Worst".equals(sa.getParam("AILogic"))) {
pile1WasChosen = !pile1WasChosen; pile1WasChosen = !pile1WasChosen;
} }
if (pile1WasChosen) { GuiDialog.message("Computer chooses the Pile " + (pile1WasChosen ? "1" : "2"));
JOptionPane.showMessageDialog(null, "Computer chooses the Pile 1", "",
JOptionPane.INFORMATION_MESSAGE);
} else {
JOptionPane.showMessageDialog(null, "Computer chooses the Pile 2", "",
JOptionPane.INFORMATION_MESSAGE);
}
} }
} }

View File

@@ -244,7 +244,6 @@ public final class GameActionUtil {
@Override @Override
public void resolve() { public void resolve() {
final GameState game = Singletons.getModel().getGame();
final List<Card> topOfLibrary = controller.getCardsIn(ZoneType.Library); final List<Card> topOfLibrary = controller.getCardsIn(ZoneType.Library);
final List<Card> revealed = new ArrayList<Card>(); final List<Card> revealed = new ArrayList<Card>();
int rippleNumber = rippleCount; int rippleNumber = rippleCount;

View File

@@ -22,7 +22,6 @@ import forge.game.player.LobbyPlayer;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.player.PlayerStatistics; import forge.game.player.PlayerStatistics;
import forge.game.player.PlayerType; import forge.game.player.PlayerType;
import forge.game.zone.ZoneType;
import forge.gui.InputProxy; import forge.gui.InputProxy;
import forge.gui.framework.EDocID; import forge.gui.framework.EDocID;
import forge.gui.framework.SDisplayUtil; import forge.gui.framework.SDisplayUtil;

View File

@@ -4,6 +4,7 @@ import java.util.concurrent.Callable;
import java.util.concurrent.FutureTask; import java.util.concurrent.FutureTask;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import javax.swing.UIManager;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@@ -65,7 +66,11 @@ public class GuiDialog {
* a {@link java.lang.String} object. * a {@link java.lang.String} object.
*/ */
public static void message(final String message) { public static void message(final String message) {
JOptionPane.showMessageDialog(null, message); message(message, UIManager.getString("OptionPane.messageDialogTitle"));
}
public static void message(final String message, String title) {
JOptionPane.showMessageDialog(null, message, title, JOptionPane.PLAIN_MESSAGE);
} }
/** /**