Minor tweak in InputSelectTargets and some string refactoring

This commit is contained in:
kevlahnota
2017-09-05 20:53:54 +00:00
parent 5c18270826
commit 00cbfa45d7
17 changed files with 174 additions and 154 deletions

View File

@@ -31,6 +31,7 @@ import forge.properties.ForgeConstants;
import forge.properties.ForgePreferences;
import forge.util.FileUtil;
import forge.util.ItemPool;
import forge.util.TextUtil;
import forge.util.gui.SGuiChoose;
import forge.util.gui.SOptionPane;
import forge.util.storage.IStorage;
@@ -375,7 +376,7 @@ public class BoosterDraft implements IBoosterDraft {
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= packs; i++) {
String choice = SGuiChoose.oneOrNone(String.format("Choose set for Pack %d of %d", i, packs), setz);
String choice = SGuiChoose.oneOrNone(TextUtil.concatNoSpace("Choose set for Pack ", String.valueOf(i), " of ", String.valueOf(packs)), setz);
if (choice == null) {
return null;
}
@@ -392,61 +393,61 @@ public class BoosterDraft implements IBoosterDraft {
final String[] sets = setz.toArray(ArrayUtils.EMPTY_STRING_ARRAY);
final List<String> setCombos = new ArrayList<>();
if (sets.length >= 2) {
setCombos.add(String.format("%s/%s/%s", sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s/%s/%s", sets[0], sets[0], sets[1]));
setCombos.add(String.format("%s/%s/%s", sets[0], sets[1], sets[1]));
setCombos.add(TextUtil.concatNoSpace(sets[0], "/", sets[0], "/", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[0], "/", sets[0], "/", sets[1]));
setCombos.add(TextUtil.concatNoSpace(sets[0], "/", sets[1], "/", sets[1]));
if (sets.length >= 3) {
setCombos.add(String.format("%s/%s/%s", sets[0], sets[1], sets[2]));
setCombos.add(String.format("%s/%s/%s", sets[0], sets[2], sets[2]));
setCombos.add(TextUtil.concatNoSpace(sets[0], "/", sets[1], "/", sets[2]));
setCombos.add(TextUtil.concatNoSpace(sets[0], "/", sets[2], "/", sets[2]));
}
setCombos.add(String.format("%s/%s/%s", sets[1], sets[0], sets[0]));
setCombos.add(String.format("%s/%s/%s", sets[1], sets[1], sets[0]));
setCombos.add(String.format("%s/%s/%s", sets[1], sets[1], sets[1]));
setCombos.add(TextUtil.concatNoSpace(sets[1], "/", sets[0], "/", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[1], "/", sets[1], "/", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[1], "/", sets[1], "/", sets[1]));
if (sets.length >= 3) {
setCombos.add(String.format("%s/%s/%s", sets[1], sets[1], sets[2]));
setCombos.add(String.format("%s/%s/%s", sets[1], sets[2], sets[2]));
setCombos.add(TextUtil.concatNoSpace(sets[1], "/", sets[1], "/", sets[2]));
setCombos.add(TextUtil.concatNoSpace(sets[1], "/", sets[2], "/", sets[2]));
}
}
if (sets.length >= 3) {
setCombos.add(String.format("%s/%s/%s", sets[2], sets[1], sets[0]));
setCombos.add(String.format("%s/%s/%s", sets[2], sets[2], sets[0]));
setCombos.add(String.format("%s/%s/%s", sets[2], sets[2], sets[1]));
setCombos.add(String.format("%s/%s/%s", sets[2], sets[2], sets[2]));
setCombos.add(TextUtil.concatNoSpace(sets[2], "/", sets[1], "/", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[2], "/", sets[2], "/", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[2], "/", sets[2], "/", sets[1]));
setCombos.add(TextUtil.concatNoSpace(sets[2], "/", sets[2], "/", sets[2]));
} // Beyond 3, skimp on the choice configurations, or the list will be enormous!
if (sets.length >= 4) {
setCombos.add(String.format("%s/%s/%s", sets[3], sets[1], sets[0]));
setCombos.add(String.format("%s/%s/%s", sets[3], sets[2], sets[1]));
setCombos.add(TextUtil.concatNoSpace(sets[3], "/", sets[1], "/", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[3], "/", sets[2], "/", sets[1]));
}
if (sets.length >= 5) {
setCombos.add(String.format("%s/%s/%s", sets[4], sets[1], sets[0]));
setCombos.add(String.format("%s/%s/%s", sets[4], sets[3], sets[2]));
setCombos.add(String.format("%s/%s/%s", sets[4], sets[2], sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[4], "/", sets[1], "/", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[4], "/", sets[3], "/", sets[2]));
setCombos.add(TextUtil.concatNoSpace(sets[4], "/", sets[2], "/", sets[0]));
}
if (sets.length >= 6) {
setCombos.add(String.format("%s/%s/%s", sets[5], sets[1], sets[0]));
setCombos.add(String.format("%s/%s/%s", sets[5], sets[3], sets[2]));
setCombos.add(String.format("%s/%s/%s", sets[5], sets[4], sets[3]));
setCombos.add(String.format("%s/%s/%s", sets[5], sets[2], sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[5], "/", sets[1], "/", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[5], "/", sets[3], "/", sets[2]));
setCombos.add(TextUtil.concatNoSpace(sets[5], "/", sets[4], "/", sets[3]));
setCombos.add(TextUtil.concatNoSpace(sets[5], "/", sets[2], "/", sets[0]));
}
if (sets.length >= 7) {
setCombos.add(String.format("%s/%s/%s", sets[6], sets[1], sets[0]));
setCombos.add(String.format("%s/%s/%s", sets[6], sets[3], sets[2]));
setCombos.add(String.format("%s/%s/%s", sets[6], sets[5], sets[4]));
setCombos.add(String.format("%s/%s/%s", sets[6], sets[3], sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[6], "/", sets[1], "/", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[6], "/", sets[3], "/", sets[2]));
setCombos.add(TextUtil.concatNoSpace(sets[6], "/", sets[5], "/", sets[4]));
setCombos.add(TextUtil.concatNoSpace(sets[6], "/", sets[3], "/", sets[0]));
}
if (sets.length >= 8) {
setCombos.add(String.format("%s/%s/%s", sets[7], sets[1], sets[0]));
setCombos.add(String.format("%s/%s/%s", sets[7], sets[3], sets[2]));
setCombos.add(String.format("%s/%s/%s", sets[7], sets[5], sets[4]));
setCombos.add(String.format("%s/%s/%s", sets[7], sets[6], sets[5]));
setCombos.add(String.format("%s/%s/%s", sets[7], sets[3], sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[7], "/", sets[1], "/", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[7], "/", sets[3], "/", sets[2]));
setCombos.add(TextUtil.concatNoSpace(sets[7], "/", sets[5], "/", sets[4]));
setCombos.add(TextUtil.concatNoSpace(sets[7], "/", sets[6], "/", sets[5]));
setCombos.add(TextUtil.concatNoSpace(sets[7], "/", sets[3], "/", sets[0]));
}
if (sets.length >= 9) {
setCombos.add(String.format("%s/%s/%s", sets[8], sets[1], sets[0]));
setCombos.add(String.format("%s/%s/%s", sets[8], sets[3], sets[2]));
setCombos.add(String.format("%s/%s/%s", sets[8], sets[5], sets[4]));
setCombos.add(String.format("%s/%s/%s", sets[8], sets[7], sets[6]));
setCombos.add(String.format("%s/%s/%s", sets[8], sets[4], sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[8], "/", sets[1], "/", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[8], "/", sets[3], "/", sets[2]));
setCombos.add(TextUtil.concatNoSpace(sets[8], "/", sets[5], "/", sets[4]));
setCombos.add(TextUtil.concatNoSpace(sets[8], "/", sets[7], "/", sets[6]));
setCombos.add(TextUtil.concatNoSpace(sets[8], "/", sets[4], "/", sets[0]));
}
return setCombos;
}

View File

@@ -280,146 +280,146 @@ public class SealedCardPoolGenerator {
if (nPacks == 3) {
if (sets.length >= 2) {
setCombos.add(String.format("%s, %s, %s", sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s", sets[1], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s", sets[1], sets[1], sets[0]));
setCombos.add(String.format("3 %s", sets[1]));
setCombos.add(TextUtil.concatNoSpace(sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[1], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[1], ", ", sets[1], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace("3 ", sets[1]));
}
if (sets.length >= 3) {
setCombos.add(String.format("%s, %s, %s", sets[2], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s", sets[0], sets[2], sets[0]));
setCombos.add(String.format("%s, %s, %s", sets[2], sets[2], sets[2]));
setCombos.add(String.format("%s, %s, %s", sets[2], sets[1], sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[2], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[0], ", ", sets[2], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[2], ", ", sets[2], ", ", sets[2]));
setCombos.add(TextUtil.concatNoSpace(sets[2], ", ", sets[1], ", ", sets[0]));
}
}
else if (nPacks == 4) {
if (sets.length >= 2) {
setCombos.add(String.format("%s, %s, %s, %s", sets[0], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s", sets[1], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s", sets[1], sets[1], sets[0], sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0]));
}
if (sets.length >= 3) {
setCombos.add(String.format("%s, %s, %s, %s", sets[2], sets[2], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s", sets[2], sets[1], sets[0], sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[2], ", ", sets[2], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[2], ", ", sets[1], ", ", sets[0], ", ", sets[0]));
}
if (sets.length >= 4) {
setCombos.add(String.format("%s, %s, %s, %s", sets[3], sets[2], sets[1], sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[0]));
}
}
else if (nPacks == 5) {
if (sets.length == 1 || !sets[0].equals(sets[1]) ) {
setCombos.add(String.format("5 %s", sets[0]));
setCombos.add(TextUtil.concatNoSpace("5 ", sets[0]));
}
if (sets.length >= 2 && !sets[0].equals(sets[1])) {
setCombos.add(String.format("3 %s, 2 %s", sets[0], sets[1]));
setCombos.add(String.format("2 %s, 3 %s", sets[0], sets[1]));
setCombos.add(TextUtil.concatNoSpace("3 ", sets[0], ", 2 ", sets[1]));
setCombos.add(TextUtil.concatNoSpace("2 ", sets[0], ", 3 ", sets[1]));
}
if (sets.length >= 3 && !sets[0].equals(sets[2])) {
setCombos.add(String.format("3 %s, 2 %s", sets[0], sets[2]));
setCombos.add(String.format("3 %s, %s, %s", sets[0], sets[1], sets[2]));
setCombos.add(String.format("2 %s, 2 %s, %s", sets[0], sets[1], sets[2]));
setCombos.add(TextUtil.concatNoSpace("3 ", sets[0], ", 2 ", sets[2]));
setCombos.add(TextUtil.concatNoSpace("3 ", sets[0], ", ", sets[1], ", ", sets[2]));
setCombos.add(TextUtil.concatNoSpace("2 ", sets[0], ", 2 ", sets[1], ", ", sets[2]));
}
if (sets.length >= 4) {
if( sets[1].equals(sets[2]) && sets[1].equals(sets[0])) {
setCombos.add(String.format("%s, 4 %s", sets[3], sets[0])); // for guild sealed
setCombos.add(TextUtil.concatNoSpace(sets[3], ", 4 ", sets[0])); // for guild sealed
} else {
setCombos.add(String.format("%s, %s, %s, 2 %s", sets[3], sets[2], sets[1], sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[3], ", ", sets[2], ", ", sets[1], ", 2 ", sets[0]));
}
}
if (sets.length >= 5) {
setCombos.add(String.format("%s, %s, %s, %s, %s", sets[4], sets[3], sets[2], sets[1], sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[0]));
}
}
else if (nPacks == 7 && (sets.length == 4 || sets.length >= 7)) {
// Sorry. This whole function is awful, it really needs to be rewritten to just generate permutations
if (sets.length >= 7) {
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s", sets[6], sets[5], sets[4], sets[3], sets[2], sets[1], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s", sets[5], sets[4], sets[3], sets[2], sets[1], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s", sets[4], sets[3], sets[2], sets[1], sets[1], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s", sets[4], sets[3], sets[2], sets[1], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s", sets[3], sets[2], sets[2], sets[1], sets[1], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s", sets[3], sets[2], sets[1], sets[1], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s", sets[3], sets[2], sets[1], sets[0], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s", sets[2], sets[2], sets[1], sets[1], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s", sets[2], sets[1], sets[1], sets[0], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s", sets[2], sets[2], sets[2], sets[0], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s", sets[1], sets[1], sets[1], sets[0], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s", sets[0], sets[0], sets[0], sets[0], sets[0], sets[0], sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[6], ", ", sets[5], ", ", sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[5], ", ", sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[3], ", ", sets[2], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[2], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[2], ", ", sets[2], ", ", sets[2], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[1], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
} else if (sets.length == 4) {
if( sets[1].equals(sets[2]) && sets[1].equals(sets[0])) {
setCombos.add(String.format("%s, 6 %s", sets[3], sets[0])); // for origins sealed
setCombos.add(TextUtil.concatNoSpace(sets[3], ", 6 ", sets[0])); // for origins sealed
} else {
setCombos.add(String.format("%s, 2 %s, 2 %s, 2 %s", sets[3], sets[2], sets[1], sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[3], ", 2 ", sets[2], ", 2 ", sets[1], ", 2 ", sets[0]));
}
}
}
else if (nPacks == 8 && sets.length >= 8) {
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s", sets[7], sets[6], sets[5], sets[4], sets[3], sets[2], sets[1], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s", sets[6], sets[5], sets[4], sets[3], sets[2], sets[1], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s", sets[5], sets[4], sets[3], sets[2], sets[1], sets[1], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s", sets[5], sets[4], sets[3], sets[2], sets[1], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s", sets[4], sets[3], sets[2], sets[2], sets[1], sets[1], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s", sets[4], sets[3], sets[2], sets[1], sets[1], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s", sets[4], sets[3], sets[2], sets[1], sets[0], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s", sets[3], sets[3], sets[2], sets[2], sets[1], sets[1], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s", sets[3], sets[2], sets[2], sets[1], sets[1], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s", sets[3], sets[2], sets[1], sets[1], sets[0], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s", sets[3], sets[2], sets[1], sets[0], sets[0], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s", sets[2], sets[2], sets[1], sets[1], sets[0], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s", sets[2], sets[2], sets[2], sets[2], sets[0], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s", sets[1], sets[1], sets[1], sets[1], sets[0], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s", sets[0], sets[0], sets[0], sets[0], sets[0], sets[0], sets[0], sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[7], ", ", sets[6], ", ", sets[5], ", ", sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[6], ", ", sets[5], ", ", sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[5], ", ", sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[5], ", ", sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[3], ", ", sets[3], ", ", sets[2], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[3], ", ", sets[2], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[2], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[2], ", ", sets[2], ", ", sets[2], ", ", sets[2], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[1], ", ", sets[1], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
}
else if (nPacks == 9 && sets.length >= 9) {
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s, %s", sets[8], sets[7], sets[6], sets[5], sets[4], sets[3], sets[2], sets[1], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s, %s", sets[7], sets[6], sets[5], sets[4], sets[3], sets[2], sets[1], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s, %s", sets[6], sets[5], sets[4], sets[3], sets[2], sets[1], sets[1], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s, %s", sets[6], sets[5], sets[4], sets[3], sets[2], sets[1], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s, %s", sets[4], sets[3], sets[3], sets[2], sets[2], sets[1], sets[1], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s, %s", sets[4], sets[3], sets[2], sets[2], sets[1], sets[1], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s, %s", sets[4], sets[3], sets[2], sets[1], sets[1], sets[1], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s, %s", sets[4], sets[3], sets[2], sets[2], sets[1], sets[1], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s, %s", sets[4], sets[3], sets[2], sets[1], sets[1], sets[0], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s, %s", sets[4], sets[3], sets[2], sets[1], sets[0], sets[0], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s, %s", sets[3], sets[3], sets[2], sets[2], sets[1], sets[1], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, %s, %s, %s, %s, %s, %s, %s", sets[3], sets[2], sets[2], sets[1], sets[1], sets[1], sets[0], sets[0], sets[0]));
setCombos.add(String.format("%s, %s, 2 %s, 5 %s", sets[3], sets[2], sets[1], sets[0]));
setCombos.add(String.format("3 %s, 3 %s, 3 %s", sets[2], sets[1], sets[0]));
setCombos.add(String.format("2 %s, 2 %s, 5 %s", sets[2], sets[1], sets[0]));
setCombos.add(String.format("%s, %s, 7 %s", sets[2], sets[1], sets[0]));
setCombos.add(String.format("4 %s, 5 %s", sets[2], sets[0]));
setCombos.add(String.format("4 %s, 5 %s", sets[1], sets[0]));
setCombos.add(String.format("9 %s", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[8], ", ", sets[7], ", ", sets[6], ", ", sets[5], ", ", sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[7], ", ", sets[6], ", ", sets[5], ", ", sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[6], ", ", sets[5], ", ", sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[6], ", ", sets[5], ", ", sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[4], ", ", sets[3], ", ", sets[3], ", ", sets[2], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[3], ", ", sets[3], ", ", sets[2], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[3], ", ", sets[2], ", ", sets[2], ", ", sets[1], ", ", sets[1], ", ", sets[1], ", ", sets[0], ", ", sets[0], ", ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[3], ", ", sets[2], ", 2 ", sets[1], ", 5 ", sets[0]));
setCombos.add(TextUtil.concatNoSpace("3 ", sets[2], ", 3 ", sets[1], ", 3 ", sets[0]));
setCombos.add(TextUtil.concatNoSpace("2 ", sets[2], ", 2 ", sets[1], ", 5 ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[2], ", ", sets[1], ", 7 ", sets[0]));
setCombos.add(TextUtil.concatNoSpace("4 ", sets[2], ", 5 ", sets[0]));
setCombos.add(TextUtil.concatNoSpace("4 ", sets[1], ", 5 ", sets[0]));
setCombos.add(TextUtil.concatNoSpace("9 ", sets[0]));
}
else { // Default to 6 packs
if (sets.length == 1 || !sets[0].equals(sets[1]) ) {
setCombos.add(String.format("6 %s", sets[0]));
setCombos.add(TextUtil.concatNoSpace("6 ", sets[0]));
}
if (sets.length >= 2 && !sets[0].equals(sets[1])) {
setCombos.add(String.format("4 %s, 2 %s", sets[0], sets[1]));
setCombos.add(String.format("3 %s, 3 %s", sets[0], sets[1]));
setCombos.add(String.format("2 %s, 4 %s", sets[0], sets[1]));
setCombos.add(TextUtil.concatNoSpace("4 ", sets[0], ", 2 ", sets[1]));
setCombos.add(TextUtil.concatNoSpace("3 ", sets[0], ", 3 ", sets[1]));
setCombos.add(TextUtil.concatNoSpace("2 ", sets[0], ", 4 ", sets[1]));
}
if (sets.length >= 3 && !sets[0].equals(sets[2])) {
setCombos.add(String.format("3 %s, 3 %s", sets[0], sets[2]));
setCombos.add(String.format("2 %s, 2 %s, 2 %s", sets[0], sets[1], sets[2]));
setCombos.add(TextUtil.concatNoSpace("3 ", sets[0], ", 3 ", sets[2]));
setCombos.add(TextUtil.concatNoSpace("2 ", sets[0], ", 2 ", sets[1], ", 2 ", sets[2]));
}
if (sets.length >= 4) {
if ( sets[1].equals(sets[2]) && sets[1].equals(sets[0])) {
setCombos.add(String.format("%s, 5 %s", sets[3], sets[0])); // for guild sealed
setCombos.add(TextUtil.concatNoSpace(sets[3], ", 5 ", sets[0])); // for guild sealed
}
else {
setCombos.add(String.format("%s, %s, %s, 3 %s", sets[3], sets[2], sets[1], sets[0]));
setCombos.add(String.format("%s, %s, 2 %s, 2 %s", sets[3], sets[2], sets[1], sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[3], ", ", sets[2], ", ", sets[1], ", 3 ", sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[3], ", ", sets[2], ", 2 ", sets[1], ", 2 ", sets[0]));
}
}
if (sets.length >= 5) {
setCombos.add(String.format("%s, %s, %s, %s, 2 %s", sets[4], sets[3], sets[2], sets[1], sets[0]));
setCombos.add(TextUtil.concatNoSpace(sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", 2 ", sets[0]));
}
if (sets.length >= 6) {
setCombos.add(String.format("%s, %s, %s, %s, %s, %s", sets[5], sets[4], sets[3], sets[2], sets[1], sets[0]));
setCombos.add(TextUtil.concatNoSpace( sets[5], ", ", sets[4], ", ", sets[3], ", ", sets[2], ", ", sets[1], ", ", sets[0]));
}
}
return setCombos;

View File

@@ -8,6 +8,7 @@ import java.util.List;
import java.util.Map;
import java.util.Set;
import forge.util.TextUtil;
import org.apache.commons.lang3.StringUtils;
import com.google.common.collect.Lists;
@@ -305,16 +306,16 @@ public abstract class GameLobby implements IHasGameType {
for (final LobbySlot slot : activeSlots) {
if (!slot.isReady() && slot.getType() != LobbySlotType.OPEN) {
SOptionPane.showMessageDialog(String.format("Player %s is not ready", slot.getName()));
SOptionPane.showMessageDialog(TextUtil.concatNoSpace("Player ", slot.getName(), " is not ready"));
return null;
}
if (slot.getDeck() == null) {
SOptionPane.showMessageDialog(String.format("Please specify a deck for %s", slot.getName()));
SOptionPane.showMessageDialog(TextUtil.concatNoSpace("Please specify a deck for ", slot.getName()));
return null;
}
if (hasVariant(GameType.Commander) || hasVariant(GameType.TinyLeaders)) {
if (!slot.getDeck().has(DeckSection.Commander)) {
SOptionPane.showMessageDialog(String.format("%s doesn't have a commander", slot.getName()));
SOptionPane.showMessageDialog(TextUtil.concatNoSpace(slot.getName(), " doesn't have a commander"));
return null;
}
}

View File

@@ -8,6 +8,7 @@ import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import forge.util.TextUtil;
import org.apache.commons.lang3.StringUtils;
import com.google.common.collect.ImmutableMap;
@@ -112,9 +113,9 @@ public class HostedMatch {
});
if (sortedPlayers.size() == 2) {
title = String.format("%s vs %s", sortedPlayers.get(0).getPlayer().getName(), sortedPlayers.get(1).getPlayer().getName());
title = TextUtil.concatNoSpace(sortedPlayers.get(0).getPlayer().getName(), " vs ", sortedPlayers.get(1).getPlayer().getName());
} else {
title = String.format("Multiplayer Game (%d players)", sortedPlayers.size());
title = TextUtil.concatNoSpace("Multiplayer Game (", String.valueOf(sortedPlayers.size()), " players)");
}
this.match = new Match(gameRules, sortedPlayers, title);
startGame();

View File

@@ -7,6 +7,7 @@ import java.util.List;
import java.util.Queue;
import forge.game.GameActionUtil;
import forge.util.TextUtil;
import org.apache.commons.lang3.StringUtils;
import forge.FThreads;
@@ -460,7 +461,7 @@ public abstract class InputPayMana extends InputSyncronizedBase {
@Override
public String toString() {
return String.format("PayManaBase %s left", manaCost.toString());
return TextUtil.concatNoSpace("PayManaBase ", manaCost.toString(), " left");
}
public boolean isPaid() { return bPaid; }

View File

@@ -6,6 +6,7 @@ import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import forge.util.TextUtil;
import org.apache.commons.lang3.tuple.ImmutablePair;
import forge.model.FModel;
@@ -51,7 +52,7 @@ public final class InputSelectCardsForConvokeOrImprovise extends InputSelectMany
sa != null ) {
sb.append(sa.getStackDescription()).append("\n");
}
sb.append(String.format("Choose %s to tap for %s .\nRemaining mana cost is %s", cardType, description, remainingCost.toString()));
sb.append(TextUtil.concatNoSpace("Choose ", cardType, " to tap for ", description, " .\nRemaining mana cost is ", remainingCost.toString()));
return sb.toString();
}
@@ -104,7 +105,7 @@ public final class InputSelectCardsForConvokeOrImprovise extends InputSelectMany
@Override
public String getActivateAction(final Card card) {
if (availableCards.contains(card)) {
return String.format("tap %s for %s", cardType, description);
return TextUtil.concatNoSpace("tap ", cardType, " for ", description);
}
return null;
}

View File

@@ -55,16 +55,18 @@ public final class InputSelectTargets extends InputSyncronizedBase {
// sb.append(sa.getStackDescription().replace("(Targeting ERROR)", "")).append("\n").append(tgt.getVTSelection());
// Apparently <b>...</b> tags do not work in mobile Forge, so don't include them (for now)
sb.append(sa.getHostCard().toString()).append(" - ");
sb.append(sa.toString()).append("\n\n").append(tgt.getVTSelection());
sb.append(sa.toString()).append("\n");
if(!ForgeConstants.isGdxPortLandscape)
sb.append("\n");
sb.append(tgt.getVTSelection());
} else {
sb.append(sa.getHostCard()).append(" - ").append(tgt.getVTSelection());
}
if (!targetDepth.entrySet().isEmpty()) {
sb.append("\nTargeted:");
sb.append("\nTargeted: ");
}
for (final Entry<GameEntity, Integer> o : targetDepth.entrySet()) {
//if it's not in gdx port landscape mode, append the linebreak or it will make the android port
// display smaller fonts consecutively when targeting with multiple targets
//if it's not in gdx port landscape mode, append the linebreak
if(!ForgeConstants.isGdxPortLandscape)
sb.append("\n");
sb.append(o.getKey());