From 92be09cf69f6d439b8423ccb66a9488e80ccf739 Mon Sep 17 00:00:00 2001 From: Maxmtg Date: Fri, 1 Mar 2013 07:52:11 +0000 Subject: [PATCH] added methods to query player if he wants to take turn first It is used by new revision of GameNew that I don't commit yet because it contains other changes unsafe for todays release --- src/main/java/forge/game/player/PlayerController.java | 3 ++- src/main/java/forge/game/player/PlayerControllerAi.java | 4 ++++ .../java/forge/game/player/PlayerControllerHuman.java | 9 +++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/main/java/forge/game/player/PlayerController.java b/src/main/java/forge/game/player/PlayerController.java index 32260cd63a8..ec4e3a61669 100644 --- a/src/main/java/forge/game/player/PlayerController.java +++ b/src/main/java/forge/game/player/PlayerController.java @@ -65,7 +65,7 @@ public abstract class PlayerController { */ public void passPriority() { PhaseHandler handler = game.getPhaseHandler(); - // may pass only priority is has + if ( handler.getPriorityPlayer() == getPlayer() ) game.getPhaseHandler().passPriority(); } @@ -95,5 +95,6 @@ public abstract class PlayerController { public Card chooseSingleCardForEffect(List sourceList, SpellAbility sa, String title) { return chooseSingleCardForEffect(sourceList, sa, title, false); } public abstract Card chooseSingleCardForEffect(List sourceList, SpellAbility sa, String title, boolean isOptional); public abstract boolean confirmAction(SpellAbility sa, String mode, String message); + public abstract boolean getWillPlayOnFirstTurn(String message); public abstract boolean confirmStaticApplication(Card hostCard, GameEntity affected, String logic, String message); } diff --git a/src/main/java/forge/game/player/PlayerControllerAi.java b/src/main/java/forge/game/player/PlayerControllerAi.java index ae0f2c0ecc1..ef9bd250e0b 100644 --- a/src/main/java/forge/game/player/PlayerControllerAi.java +++ b/src/main/java/forge/game/player/PlayerControllerAi.java @@ -198,6 +198,10 @@ public class PlayerControllerAi extends PlayerController { return brains.confirmAction(sa, mode, message); } + @Override + public boolean getWillPlayOnFirstTurn(String message) { + return true; // AI is brave :) + } @Override public boolean confirmStaticApplication(Card hostCard, GameEntity affected, String logic, String message) { return brains.confirmStaticApplication(hostCard, affected, logic, message); diff --git a/src/main/java/forge/game/player/PlayerControllerHuman.java b/src/main/java/forge/game/player/PlayerControllerHuman.java index 0131af3b94a..cd2787e786e 100644 --- a/src/main/java/forge/game/player/PlayerControllerHuman.java +++ b/src/main/java/forge/game/player/PlayerControllerHuman.java @@ -250,5 +250,14 @@ public class PlayerControllerHuman extends PlayerController { return GuiDialog.confirm(hostCard, message); } + @Override + public boolean getWillPlayOnFirstTurn(String message) { + final String[] possibleValues = { "Play", "Draw" }; + final Object playDraw = JOptionPane.showOptionDialog(null, message + "\n\nWould you like to play or draw?", + "Play or Draw?", JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE, null, + possibleValues, possibleValues[0]); + + return !playDraw.equals(1); + } }