removed language routines from GameState, moved to land library.

This commit is contained in:
Maxmtg
2013-04-04 05:43:14 +00:00
parent 628260b1fb
commit e1d1bb45d6
5 changed files with 43 additions and 21 deletions

1
.gitattributes vendored
View File

@@ -14286,6 +14286,7 @@ src/main/java/forge/util/HttpUtil.java svneol=native#text/plain
src/main/java/forge/util/IItemReader.java -text
src/main/java/forge/util/IItemSerializer.java -text
src/main/java/forge/util/IgnoringXStream.java -text
src/main/java/forge/util/Lang.java -text
src/main/java/forge/util/LineReader.java -text
src/main/java/forge/util/MultiplexOutputStream.java svneol=native#text/plain
src/main/java/forge/util/MyObservable.java svneol=native#text/plain

View File

@@ -35,6 +35,7 @@ import forge.gui.framework.SDisplayUtil;
import forge.gui.match.CMatchUI;
import forge.gui.match.nonsingleton.VField;
import forge.gui.match.views.VMessage;
import forge.util.Lang;
import forge.view.ButtonUtil;
/**
* <p>
@@ -58,20 +59,21 @@ public class InputMulligan extends InputBase {
/** {@inheritDoc} */
@Override
public final void showMessage() {
ButtonUtil.setButtonText("No", "Yes");
ButtonUtil.setButtonText("Keep", "Mulligan");
ButtonUtil.enableAllFocusOk();
GameState game = match.getCurrentGame();
Player startingPlayer = game.getPhaseHandler().getPlayerTurn();
StringBuilder sb = new StringBuilder();
sb.append(startingPlayer.getName()).append(" is going first. ");
if (!startingPlayer.equals(player)) {
sb.append("You are going ").append(game.getOrdinalPosition(player, startingPlayer)).append(". ");
if( startingPlayer == player ) {
sb.append("You are going first.\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("Do you want to Mulligan?");
sb.append("Do you want to keep your hand?");
showMessage(sb.toString());
}

View File

@@ -32,6 +32,7 @@ import forge.gui.GuiDialog;
import forge.gui.framework.SDisplayUtil;
import forge.gui.match.CMatchUI;
import forge.gui.match.nonsingleton.VField;
import forge.util.Lang;
import forge.view.ButtonUtil;
/**
* <p>
@@ -65,10 +66,11 @@ public class InputPartialParisMulligan extends InputBase {
Player startingPlayer = game.getPhaseHandler().getPlayerTurn();
StringBuilder sb = new StringBuilder();
sb.append(startingPlayer.getName()).append(" is going first. ");
if (!startingPlayer.equals(player)) {
sb.append("You are going ").append(game.getOrdinalPosition(player, startingPlayer)).append(". ");
if( startingPlayer == player ) {
sb.append("You are going first.\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("Do you want to Mulligan?");

View File

@@ -481,19 +481,10 @@ public class GameState {
}
public String getOrdinalPosition(Player player, Player startingPlayer) {
public int getPosition(Player player, Player startingPlayer) {
int startPosition = roIngamePlayers.indexOf(startingPlayer);
int position = (roIngamePlayers.indexOf(player) + startPosition) % roIngamePlayers.size() + 1;
String[] sufixes = new String[] { "th", "st", "nd", "rd", "th", "th", "th", "th", "th", "th" };
switch (position % 100) {
case 11:
case 12:
case 13:
return position + "th";
default:
return position + sufixes[position % 10];
}
return position;
}
/**

View File

@@ -0,0 +1,26 @@
package forge.util;
/**
* TODO: Write javadoc for this type.
*
*/
public class Lang {
/**
* TODO: Write javadoc for this method.
* @param position
* @return
*/
public static Object getOrdinal(int position) {
String[] sufixes = new String[] { "th", "st", "nd", "rd", "th", "th", "th", "th", "th", "th" };
switch (position % 100) {
case 11:
case 12:
case 13:
return position + "th";
default:
return position + sufixes[position % 10];
}
}
}