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.Random;
import javax.swing.JOptionPane;
import forge.Card;
import forge.card.ability.SpellAbilityEffect;
import forge.card.cardfactory.CardFactoryUtil;
@@ -12,6 +10,7 @@ import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target;
import forge.game.player.Player;
import forge.gui.GuiChoose;
import forge.gui.GuiDialog;
public class ChooseNumberEffect extends SpellAbilityEffect {
@@ -74,7 +73,7 @@ public class ChooseNumberEffect extends SpellAbilityEffect {
final Random randomGen = new Random();
chosen = randomGen.nextInt(max - min) + min;
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")) {
final Object o = GuiChoose.one(sa.getParam("ListTitle"), choices);
if (null == o) {

View File

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

View File

@@ -2,8 +2,6 @@ package forge.card.ability.effects;
import java.util.List;
import javax.swing.JOptionPane;
import forge.Card;
import forge.Singletons;
import forge.card.ability.AbilityFactory;
@@ -127,14 +125,11 @@ public class FlipCoinEffect extends SpellAbilityEffect {
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(flipper.getName());
result.append("'s flip comes up");
result.append(resultIsHeads ? " heads." : " tails.");
JOptionPane.showMessageDialog(null, result, msgTitle.toString(), JOptionPane.PLAIN_MESSAGE);
GuiDialog.message(result.toString(), source + " Flip result:");
return resultIsHeads;
}

View File

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

View File

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

View File

@@ -2,15 +2,12 @@ package forge.card.ability.effects;
import java.util.List;
import javax.swing.JOptionPane;
import forge.Card;
import forge.card.ability.SpellAbilityEffect;
import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target;
import forge.game.player.Player;
import forge.game.zone.ZoneType;
import forge.gui.GuiChoose;
public class RevealHandEffect extends SpellAbilityEffect {
@@ -43,19 +40,7 @@ public class RevealHandEffect extends SpellAbilityEffect {
for (final Player p : getTargetPlayers(sa)) {
if ((tgt == null) || p.canBeTargetedBy(sa)) {
final List<Card> hand = p.getCardsIn(ZoneType.Hand);
if (sa.getActivatingPlayer().isHuman()) {
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...)
}
sa.getActivatingPlayer().getController().reveal(p.getName() + "'s hand", hand, ZoneType.Hand, p);
if (sa.hasParam("RememberRevealed")) {
for (final Card c : hand) {
host.addRemembered(c);

View File

@@ -3,8 +3,6 @@ package forge.card.ability.effects;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;
import forge.Card;
import forge.CardLists;
import forge.card.ability.AbilityFactory;
@@ -17,6 +15,7 @@ import forge.game.ai.ComputerUtilCard;
import forge.game.player.Player;
import forge.game.zone.ZoneType;
import forge.gui.GuiChoose;
import forge.gui.GuiDialog;
public class TwoPilesEffect extends SpellAbilityEffect {
@@ -178,16 +177,9 @@ public class TwoPilesEffect extends SpellAbilityEffect {
if (chooser.isHuman()) {
final String p1Str = String.format("Pile 1 (%s cards)", pile1.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);
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);
pile1WasChosen = GuiDialog.confirm(card, "Choose a Pile", possibleValues);
}
else {
// 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"))) {
pile1WasChosen = !pile1WasChosen;
}
if (pile1WasChosen) {
JOptionPane.showMessageDialog(null, "Computer chooses the Pile 1", "",
JOptionPane.INFORMATION_MESSAGE);
} else {
JOptionPane.showMessageDialog(null, "Computer chooses the Pile 2", "",
JOptionPane.INFORMATION_MESSAGE);
}
GuiDialog.message("Computer chooses the Pile " + (pile1WasChosen ? "1" : "2"));
}
}

View File

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

View File

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

View File

@@ -4,6 +4,7 @@ import java.util.concurrent.Callable;
import java.util.concurrent.FutureTask;
import javax.swing.JOptionPane;
import javax.swing.UIManager;
import org.apache.commons.lang3.StringUtils;
@@ -65,7 +66,11 @@ public class GuiDialog {
* a {@link java.lang.String} object.
*/
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);
}
/**