* 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 forge.Card;
import forge.Singletons;
import forge.game.GameState;
import forge.game.phase.CombatUtil;
import forge.game.player.Player;

View File

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

View File

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

View File

@@ -1484,7 +1484,7 @@ public class GameAction {
do {
for (int i = 0; i < whoCanMulligan.size(); 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( !isCommander ) {
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.Player;
import forge.game.player.PlayerStatistics;
import forge.game.player.PlayerType;
import forge.gui.GuiDialog;
import forge.gui.framework.EDocID;
import forge.gui.framework.SDisplayUtil;
import forge.gui.match.CMatchUI;
@@ -144,7 +142,7 @@ public class MatchController {
public void startRound() {
currentGame = new GameState(players, gameType, this);
try {
attachUiToMatch(this, FControl.SINGLETON_INSTANCE.getLobby().getGuiPlayer());
@@ -155,9 +153,9 @@ public class MatchController {
} catch (Exception e) {
BugReporter.reportException(e);
}
final Player firstPlayer = determineFirstTurnPlayer(getLastGameOutcome(), currentGame);
final Player firstPlayer = determineFirstTurnPlayer(getLastGameOutcome(), currentGame);
currentGame.getInputQueue().clearInput();
if(currentGame.getType() == GameType.Planechase)
firstPlayer.initPlane();
@@ -233,17 +231,13 @@ public class MatchController {
// per player observers were set in CMatchUI.SINGLETON_INSTANCE.initMatch
}
/**
* TODO: Write javadoc for this method.
*/
public void replayRound() {
gamesPlayed.remove(gamesPlayed.size() - 1);
startRound();
}
public void replay() {
public void clearGamesPlayed() {
gamesPlayed.clear();
startRound();
}
public void clearLastGame() {
gamesPlayed.remove(gamesPlayed.size() - 1);
}
/**
@@ -375,9 +369,6 @@ public class MatchController {
}
boolean willPlay = goesFirst.getController().getWillPlayOnFirstTurn(message);
if ( goesFirst.getLobbyPlayer().getType() == PlayerType.COMPUTER ) {
GuiDialog.message(message + "\nComputer Going First");
}
goesFirst = willPlay ? goesFirst : goesFirst.getOpponent();
game.getPhaseHandler().setPlayerTurn(goesFirst);
return goesFirst;

View File

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

View File

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

View File

@@ -53,7 +53,6 @@ import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target;
import forge.card.staticability.StaticAbility;
import forge.card.trigger.TriggerType;
import forge.control.FControl;
import forge.game.GameActionUtil;
import forge.game.GameState;
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 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
public List<Card> getCardsToMulligan(boolean isCommander) {
public List<Card> getCardsToMulligan(boolean isCommander, Player firstPlayer) {
if( !ComputerUtil.wantMulligan(player) )
return null;

View File

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

View File

@@ -85,7 +85,8 @@ public class ControlWinLose {
public void actionOnRestart() {
SOverlayUtils.hideOverlay();
saveOptions();
match.replay();
match.clearGamesPlayed();
match.startRound();
}
/** 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.CardPredicates.Presets;
import forge.Command;
import forge.Singletons;
import forge.deck.Deck;
import forge.game.GameState;
import forge.game.phase.CombatUtil;