* remove warnings

* remove messagebox when computer plays first
* Mulligan input message now reads who is going first (if you go first you are asked to play or draw yet before mulligan)
This commit is contained in:
Maxmtg
2013-05-23 10:00:39 +00:00
parent bb7131b65f
commit 8969f6a4b9
13 changed files with 21 additions and 35 deletions

View File

@@ -22,7 +22,6 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import forge.Card; import forge.Card;
import forge.Singletons;
import forge.game.GameState; import forge.game.GameState;
import forge.game.phase.CombatUtil; import forge.game.phase.CombatUtil;
import forge.game.player.Player; import forge.game.player.Player;

View File

@@ -18,10 +18,8 @@
package forge.control.input; package forge.control.input;
import forge.Card; import forge.Card;
import forge.Singletons;
import forge.game.GameState; import forge.game.GameState;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.Zone;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
import forge.view.ButtonUtil; import forge.view.ButtonUtil;

View File

@@ -44,24 +44,25 @@ public class InputConfirmMulligan extends InputSyncronizedBase {
boolean keepHand = false; boolean keepHand = false;
final boolean isCommander; final boolean isCommander;
final List<Card> selected = new ArrayList<Card>(); final List<Card> selected = new ArrayList<Card>();
final private Player startingPlayer;
public InputConfirmMulligan(Player humanPlayer, boolean commander) { public InputConfirmMulligan(Player humanPlayer, Player startsGame, boolean commander) {
super(humanPlayer); super(humanPlayer);
isCommander = commander; isCommander = commander;
startingPlayer = startsGame;
} }
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public final void showMessage() { public final void showMessage() {
GameState game = player.getGame(); GameState game = player.getGame();
Player startingPlayer = game.getPhaseHandler().getPlayerTurn();
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
if( startingPlayer == player ) { if( startingPlayer == player ) {
sb.append("You are going first.\n"); sb.append("You are going first!\n\n");
} else { } else {
sb.append(startingPlayer.getName()).append(" is going first. "); sb.append(startingPlayer.getName()).append(" is going first.\n");
sb.append("You are going ").append(Lang.getOrdinal(game.getPosition(player, startingPlayer))).append(".\n"); sb.append("You are going ").append(Lang.getOrdinal(game.getPosition(player, startingPlayer))).append(".\n\n");
} }
if ( isCommander ) { if ( isCommander ) {

View File

@@ -1484,7 +1484,7 @@ public class GameAction {
do { do {
for (int i = 0; i < whoCanMulligan.size(); i++) { for (int i = 0; i < whoCanMulligan.size(); i++) {
Player p = whoCanMulligan.get(i); Player p = whoCanMulligan.get(i);
List<Card> toMulligan = p.canMulligan() ? p.getController().getCardsToMulligan(isCommander) : null; List<Card> toMulligan = p.canMulligan() ? p.getController().getCardsToMulligan(isCommander, firstPlayer) : null;
if ( toMulligan != null ) { if ( toMulligan != null ) {
if( !isCommander ) { if( !isCommander ) {
toMulligan = new ArrayList<Card>(p.getCardsIn(ZoneType.Hand)); toMulligan = new ArrayList<Card>(p.getCardsIn(ZoneType.Hand));

View File

@@ -20,8 +20,6 @@ import forge.game.player.LobbyPlayer;
import forge.game.player.LobbyPlayerHuman; import forge.game.player.LobbyPlayerHuman;
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.gui.GuiDialog;
import forge.gui.framework.EDocID; import forge.gui.framework.EDocID;
import forge.gui.framework.SDisplayUtil; import forge.gui.framework.SDisplayUtil;
import forge.gui.match.CMatchUI; import forge.gui.match.CMatchUI;
@@ -233,17 +231,13 @@ public class MatchController {
// per player observers were set in CMatchUI.SINGLETON_INSTANCE.initMatch // per player observers were set in CMatchUI.SINGLETON_INSTANCE.initMatch
} }
/**
* TODO: Write javadoc for this method. public void clearGamesPlayed() {
*/ gamesPlayed.clear();
public void replayRound() {
gamesPlayed.remove(gamesPlayed.size() - 1);
startRound();
} }
public void replay() { public void clearLastGame() {
gamesPlayed.clear(); gamesPlayed.remove(gamesPlayed.size() - 1);
startRound();
} }
/** /**
@@ -375,9 +369,6 @@ public class MatchController {
} }
boolean willPlay = goesFirst.getController().getWillPlayOnFirstTurn(message); boolean willPlay = goesFirst.getController().getWillPlayOnFirstTurn(message);
if ( goesFirst.getLobbyPlayer().getType() == PlayerType.COMPUTER ) {
GuiDialog.message(message + "\nComputer Going First");
}
goesFirst = willPlay ? goesFirst : goesFirst.getOpponent(); goesFirst = willPlay ? goesFirst : goesFirst.getOpponent();
game.getPhaseHandler().setPlayerTurn(goesFirst); game.getPhaseHandler().setPlayerTurn(goesFirst);
return goesFirst; return goesFirst;

View File

@@ -3,7 +3,6 @@ package forge.game.ai;
import java.util.List; import java.util.List;
import forge.Card; import forge.Card;
import forge.Singletons;
import forge.control.input.InputBase; import forge.control.input.InputBase;
import forge.game.GameState; import forge.game.GameState;
import forge.game.phase.CombatUtil; import forge.game.phase.CombatUtil;

View File

@@ -35,7 +35,6 @@ import forge.CardPredicates;
import forge.Command; import forge.Command;
import forge.Constant; import forge.Constant;
import forge.GameEntity; import forge.GameEntity;
import forge.Singletons;
import forge.card.CardType; import forge.card.CardType;
import forge.card.MagicColor; import forge.card.MagicColor;
import forge.card.ability.ApiType; import forge.card.ability.ApiType;

View File

@@ -53,7 +53,6 @@ import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.card.staticability.StaticAbility; import forge.card.staticability.StaticAbility;
import forge.card.trigger.TriggerType; import forge.card.trigger.TriggerType;
import forge.control.FControl;
import forge.game.GameActionUtil; import forge.game.GameActionUtil;
import forge.game.GameState; import forge.game.GameState;
import forge.game.GlobalRuleChange; import forge.game.GlobalRuleChange;

View File

@@ -139,5 +139,5 @@ public abstract class PlayerController {
public abstract String chooseSomeType(String kindOfType, String aiLogic, List<String> validTypes, List<String> invalidTypes); public abstract String chooseSomeType(String kindOfType, String aiLogic, List<String> validTypes, List<String> invalidTypes);
public abstract boolean confirmReplacementEffect(ReplacementEffect replacementEffect, SpellAbility effectSA, String question); public abstract boolean confirmReplacementEffect(ReplacementEffect replacementEffect, SpellAbility effectSA, String question);
public abstract List<Card> getCardsToMulligan(boolean isCommander); public abstract List<Card> getCardsToMulligan(boolean isCommander, Player firstPlayer);
} }

View File

@@ -288,7 +288,7 @@ public class PlayerControllerAi extends PlayerController {
} }
@Override @Override
public List<Card> getCardsToMulligan(boolean isCommander) { public List<Card> getCardsToMulligan(boolean isCommander, Player firstPlayer) {
if( !ComputerUtil.wantMulligan(player) ) if( !ComputerUtil.wantMulligan(player) )
return null; return null;

View File

@@ -469,8 +469,8 @@ public class PlayerControllerHuman extends PlayerController {
@Override @Override
public List<Card> getCardsToMulligan(boolean isCommander) { public List<Card> getCardsToMulligan(boolean isCommander, Player firstPlayer) {
final InputConfirmMulligan inp = new InputConfirmMulligan(player, isCommander); final InputConfirmMulligan inp = new InputConfirmMulligan(player, firstPlayer, isCommander);
player.getGame().getInputQueue().setInputAndWait(inp); player.getGame().getInputQueue().setInputAndWait(inp);
return inp.isKeepHand() ? null : inp.getSelectedCards(); return inp.isKeepHand() ? null : inp.getSelectedCards();
} }

View File

@@ -85,7 +85,8 @@ public class ControlWinLose {
public void actionOnRestart() { public void actionOnRestart() {
SOverlayUtils.hideOverlay(); SOverlayUtils.hideOverlay();
saveOptions(); saveOptions();
match.replay(); match.clearGamesPlayed();
match.startRound();
} }
/** Action performed when "quit" button is pressed in default win/lose UI. */ /** Action performed when "quit" button is pressed in default win/lose UI. */

View File

@@ -33,7 +33,6 @@ import forge.Card;
import forge.CardLists; import forge.CardLists;
import forge.CardPredicates.Presets; import forge.CardPredicates.Presets;
import forge.Command; import forge.Command;
import forge.Singletons;
import forge.deck.Deck; import forge.deck.Deck;
import forge.game.GameState; import forge.game.GameState;
import forge.game.phase.CombatUtil; import forge.game.phase.CombatUtil;