Checkstyle changes

Moved deck generation code away from OldGuiNewGame
This commit is contained in:
Maxmtg
2011-09-09 12:34:12 +00:00
parent 5fd79df20b
commit e6a1fb2930
8 changed files with 397 additions and 376 deletions

1
.gitattributes vendored
View File

@@ -9768,6 +9768,7 @@ src/main/java/forge/card/trigger/Trigger_Unequip.java svneol=native#text/plain
src/main/java/forge/card/trigger/Trigger_Untaps.java svneol=native#text/plain src/main/java/forge/card/trigger/Trigger_Untaps.java svneol=native#text/plain
src/main/java/forge/card/trigger/package-info.java svneol=native#text/plain src/main/java/forge/card/trigger/package-info.java svneol=native#text/plain
src/main/java/forge/deck/Deck.java svneol=native#text/plain src/main/java/forge/deck/Deck.java svneol=native#text/plain
src/main/java/forge/deck/DeckGeneration.java -text
src/main/java/forge/deck/DeckManager.java svneol=native#text/plain src/main/java/forge/deck/DeckManager.java svneol=native#text/plain
src/main/java/forge/deck/DownloadDeck.java svneol=native#text/plain src/main/java/forge/deck/DownloadDeck.java svneol=native#text/plain
src/main/java/forge/deck/generate/Generate2ColorDeck.java svneol=native#text/plain src/main/java/forge/deck/generate/Generate2ColorDeck.java svneol=native#text/plain

View File

@@ -0,0 +1,314 @@
package forge.deck;
import java.util.ArrayList;
import java.util.Random;
import forge.CardList;
import forge.Constant;
import forge.MyRandom;
import forge.PlayerType;
import forge.deck.generate.Generate2ColorDeck;
import forge.deck.generate.Generate3ColorDeck;
import forge.deck.generate.Generate5ColorDeck;
import forge.deck.generate.GenerateConstructedDeck;
import forge.deck.generate.GenerateConstructedMultiColorDeck;
import forge.deck.generate.GenerateThemeDeck;
import forge.game.GameType;
import forge.gui.GuiUtils;
/**
* Utility class to hold add deck generation routines, methods moved from OldGuiNewGame
*
*/
public abstract class DeckGeneration {
/**
* <p>
* genDecks.
* </p>
*
* @param playerType
* {@link java.lang.String} object.
*/
public static void genDecks(final PlayerType playerType) {
// TODO: jendave to refactor deck generation
Deck d = null;
ArrayList<String> decks = new ArrayList<String>();
decks.add("2-Color Deck");
decks.add("3-Color Deck");
decks.add("5-Color Deck");
decks.add("2-Color Deck (original)");
decks.add("3-Color Deck (original)");
decks.add("5-Color Deck (original)");
decks.add("Semi-Random Theme Deck");
String playerName = playerType.equals(PlayerType.HUMAN) ? "Human" : "Computer";
String prompt = String.format("Generate %s Deck", playerName);
Object o = GuiUtils.getChoice(prompt, decks.toArray());
if (o.toString().equals(decks.get(0))) {
d = generate2ColorDeck(playerType);
} else if (o.toString().equals(decks.get(1))) {
d = generate3ColorDeck(playerType);
} else if (o.toString().equals(decks.get(2))) {
d = generate5ColorDeck(playerType);
} else if (o.toString().equals(decks.get(3))) {
d = generateConstructedDeck();
} else if (o.toString().equals(decks.get(4))) {
d = generateConstructed3ColorDeck();
} else if (o.toString().equals(decks.get(5))) {
d = generateConstructed5ColorDeck();
} else if (o.toString().equals(decks.get(6))) {
d = generateConstructedThemeDeck();
}
if (playerType.equals(PlayerType.HUMAN)) {
Constant.Runtime.HumanDeck[0] = d;
} else if (playerType.equals(PlayerType.COMPUTER)) {
Constant.Runtime.ComputerDeck[0] = d;
}
}
/**
* <p>
* generateConstructedDeck.
* </p>
*
* @return a {@link forge.deck.Deck} object.
*/
private static Deck generateConstructedDeck() {
GenerateConstructedDeck gen = new GenerateConstructedDeck();
CardList name = gen.generateDeck();
Deck deck = new Deck(GameType.Constructed);
for (int i = 0; i < 60; i++) {
deck.addMain(name.get(i).getName());
}
return deck;
}
/**
* <p>
* generateConstructed3ColorDeck.
* </p>
*
* @return a {@link forge.deck.Deck} object.
*/
private static Deck generateConstructed3ColorDeck() {
GenerateConstructedMultiColorDeck gen = new GenerateConstructedMultiColorDeck();
CardList name = gen.generate3ColorDeck();
Deck deck = new Deck(GameType.Constructed);
for (int i = 0; i < 60; i++) {
deck.addMain(name.get(i).getName());
}
return deck;
}
/**
* <p>
* generateConstructed5ColorDeck.
* </p>
*
* @return a {@link forge.deck.Deck} object.
*/
private static Deck generateConstructed5ColorDeck() {
GenerateConstructedMultiColorDeck gen = new GenerateConstructedMultiColorDeck();
CardList name = gen.generate5ColorDeck();
Deck deck = new Deck(GameType.Constructed);
for (int i = 0; i < 60; i++) {
deck.addMain(name.get(i).getName());
}
return deck;
}
/**
* <p>
* generateConstructedThemeDeck.
* </p>
*
* @return a {@link forge.deck.Deck} object.
*/
private static Deck generateConstructedThemeDeck() {
GenerateThemeDeck gen = new GenerateThemeDeck();
ArrayList<String> tNames = gen.getThemeNames();
tNames.add(0, "Random");
Object o = GuiUtils.getChoice("Select a theme.", tNames.toArray());
String stDeck;
if (o.toString().equals("Random")) {
Random r = MyRandom.random;
stDeck = tNames.get(r.nextInt(tNames.size() - 1) + 1);
} else {
stDeck = o.toString();
}
CardList td = gen.getThemeDeck(stDeck, 60);
Deck deck = new Deck(GameType.Constructed);
for (int i = 0; i < td.size(); i++) {
deck.addMain(td.get(i).getName());
}
return deck;
}
/**
* <p>
* generate2ColorDeck.
* </p>
*
* @param p
* a {@link java.lang.String} object.
* @return a {@link forge.deck.Deck} object.
*/
private static Deck generate2ColorDeck(final PlayerType p) {
Random r = MyRandom.random;
ArrayList<String> colors = new ArrayList<String>();
colors.add("Random");
colors.add("white");
colors.add("blue");
colors.add("black");
colors.add("red");
colors.add("green");
String c1;
String c2;
if (p.equals(PlayerType.HUMAN)) {
c1 = GuiUtils.getChoice("Select first color.", colors.toArray()).toString();
if (c1.equals("Random")) {
c1 = colors.get(r.nextInt(colors.size() - 1) + 1);
}
colors.remove(c1);
c2 = GuiUtils.getChoice("Select second color.", colors.toArray()).toString();
if (c2.equals("Random")) {
c2 = colors.get(r.nextInt(colors.size() - 1) + 1);
}
} else {
// if (p.equals("C"))
c1 = colors.get(r.nextInt(colors.size() - 1) + 1);
colors.remove(c1);
c2 = colors.get(r.nextInt(colors.size() - 1) + 1);
}
Generate2ColorDeck gen = new Generate2ColorDeck(c1, c2);
CardList d = gen.get2ColorDeck(60, p);
Deck deck = new Deck(GameType.Constructed);
for (int i = 0; i < d.size(); i++) {
deck.addMain(d.get(i).getName());
}
return deck;
}
/**
* <p>
* generate3ColorDeck.
* </p>
*
* @param p
* a {@link java.lang.String} object.
* @return a {@link forge.deck.Deck} object.
*/
private static Deck generate3ColorDeck(final PlayerType p) {
Random r = MyRandom.random;
ArrayList<String> colors = new ArrayList<String>();
colors.add("Random");
colors.add("white");
colors.add("blue");
colors.add("black");
colors.add("red");
colors.add("green");
String c1;
String c2;
String c3;
if (p.equals(PlayerType.HUMAN)) {
c1 = GuiUtils.getChoice("Select first color.", colors.toArray()).toString();
if (c1.equals("Random")) {
c1 = colors.get(r.nextInt(colors.size() - 1) + 1);
}
colors.remove(c1);
c2 = GuiUtils.getChoice("Select second color.", colors.toArray()).toString();
if (c2.equals("Random")) {
c2 = colors.get(r.nextInt(colors.size() - 1) + 1);
}
colors.remove(c2);
c3 = GuiUtils.getChoice("Select third color.", colors.toArray()).toString();
if (c3.equals("Random")) {
c3 = colors.get(r.nextInt(colors.size() - 1) + 1);
}
} else {
// if (p.equals("C"))
c1 = colors.get(r.nextInt(colors.size() - 1) + 1);
colors.remove(c1);
c2 = colors.get(r.nextInt(colors.size() - 1) + 1);
colors.remove(c2);
c3 = colors.get(r.nextInt(colors.size() - 1) + 1);
}
Generate3ColorDeck gen = new Generate3ColorDeck(c1, c2, c3);
CardList d = gen.get3ColorDeck(60, p);
Deck deck = new Deck(GameType.Constructed);
for (int i = 0; i < d.size(); i++) {
deck.addMain(d.get(i).getName());
}
return deck;
}
/**
* <p>
* generate5ColorDeck.
* </p>
*
* @param p
* a {@link java.lang.String} object.
* @return a {@link forge.deck.Deck} object.
*/
private static Deck generate5ColorDeck(final PlayerType p) {
//Random r = MyRandom.random;
//ArrayList<String> colors = new ArrayList<String>();
//colors.add("Random");
//colors.add("white");
//colors.add("blue");
//colors.add("black");
//colors.add("red");
//colors.add("green");
Generate5ColorDeck gen = new Generate5ColorDeck("white", "blue", "black", "red", "green");
CardList d = gen.get5ColorDeck(60, p);
Deck deck = new Deck(GameType.Constructed);
for (int i = 0; i < d.size(); i++) {
deck.addMain(d.get(i).getName());
}
return deck;
}
}

View File

@@ -1,8 +1,7 @@
package forge.game; package forge.game;
/** /**
* TODO: Write javadoc for this type. * GameType is an enum to determine the type of current game. :)
*
*/ */
public enum GameType { public enum GameType {
Constructed(false), Constructed(false),
@@ -17,7 +16,7 @@ public enum GameType {
bLimited = isLimited; bLimited = isLimited;
} }
public static GameType smartValueOf(String value){ public static GameType smartValueOf(final String value) {
String valToCompate = value.trim(); String valToCompate = value.trim();
for (GameType v : GameType.values()) { for (GameType v : GameType.values()) {
if (v.name().compareToIgnoreCase(valToCompate) == 0) { if (v.name().compareToIgnoreCase(valToCompate) == 0) {

View File

@@ -19,6 +19,9 @@ import forge.view.swing.OldGuiNewGame;
import javax.swing.*; import javax.swing.*;
import org.apache.axis.utils.ArrayUtil;
import org.apache.commons.lang3.ArrayUtils;
import net.slightlymagic.maxmtg.Predicate; import net.slightlymagic.maxmtg.Predicate;
import java.awt.*; import java.awt.*;
@@ -166,7 +169,7 @@ public class DeckEditorDraft extends DeckEditorBase implements NewConstants, New
* *
* @param e a {@link java.awt.event.ActionEvent} object. * @param e a {@link java.awt.event.ActionEvent} object.
*/ */
void jButton1_actionPerformed(ActionEvent e) { void jButton1_actionPerformed(final ActionEvent e) {
CardPrinted card = top.getSelectedCard(); CardPrinted card = top.getSelectedCard();
if (null == card) { return; } if (null == card) { return; }
@@ -181,8 +184,7 @@ public class DeckEditorDraft extends DeckEditorBase implements NewConstants, New
if (BoosterDraft.draftPicks.size() > 1) { if (BoosterDraft.draftPicks.size() > 1) {
ArrayList<String> outDraftData = new ArrayList<String>(); ArrayList<String> outDraftData = new ArrayList<String>();
String keys[] = {""}; String[] keys = BoosterDraft.draftPicks.keySet().toArray(ArrayUtils.EMPTY_STRING_ARRAY);
keys = BoosterDraft.draftPicks.keySet().toArray(keys);
for (int i = 0; i < keys.length; i++) { for (int i = 0; i < keys.length; i++) {
outDraftData.add(keys[i] + "|" + BoosterDraft.draftPicks.get(keys[i])); outDraftData.add(keys[i] + "|" + BoosterDraft.draftPicks.get(keys[i]));

View File

@@ -35,7 +35,7 @@ import javax.swing.SwingUtilities;
* @author Forge * @author Forge
* @version $Id$ * @version $Id$
*/ */
public class DeckEditorMenu extends JMenuBar implements NewConstants { public final class DeckEditorMenu extends JMenuBar implements NewConstants {
/** Constant <code>serialVersionUID=-4037993759604768755L</code> */ /** Constant <code>serialVersionUID=-4037993759604768755L</code> */
private static final long serialVersionUID = -4037993759604768755L; private static final long serialVersionUID = -4037993759604768755L;
@@ -130,8 +130,8 @@ public class DeckEditorMenu extends JMenuBar implements NewConstants {
} //setupSortMenu() } //setupSortMenu()
public void newConstructed(boolean careAboutOldDeck) { public void newConstructed(final boolean careAboutOldDeck) {
if (careAboutOldDeck && !canLeaveCurrentDeck()) return; if (careAboutOldDeck && !canLeaveCurrentDeck()) { return; }
setDeckData("", true); setDeckData("", true);
@@ -139,7 +139,7 @@ public class DeckEditorMenu extends JMenuBar implements NewConstants {
} }
private void newRandomConstructed() { private void newRandomConstructed() {
if (!canLeaveCurrentDeck()) return; if (!canLeaveCurrentDeck()) { return; }
setDeckData("", false); setDeckData("", false);
@@ -159,7 +159,7 @@ public class DeckEditorMenu extends JMenuBar implements NewConstants {
} }
private void newGenerateConstructed() { private void newGenerateConstructed() {
if (!canLeaveCurrentDeck()) return; if (!canLeaveCurrentDeck()) { return; }
setDeckData("", false); setDeckData("", false);
@@ -296,7 +296,7 @@ public class DeckEditorMenu extends JMenuBar implements NewConstants {
} }
private void saveAs() { private void saveAs() {
String name = getUserInput_GetDeckName(); String name = getDeckNameFromDialog();
if (name.equals("")) { return; } if (name.equals("")) { return; }
setDeckData(name, true); setDeckData(name, true);
@@ -312,8 +312,7 @@ public class DeckEditorMenu extends JMenuBar implements NewConstants {
all[0] = deck; all[0] = deck;
deckManager.addDraftDeck(all); deckManager.addDraftDeck(all);
DeckManager.writeDraftDecks(all); DeckManager.writeDraftDecks(all);
} else//constructed and sealed } else {//constructed and sealed
{
deckManager.addDeck(deck); deckManager.addDeck(deck);
DeckManager.writeDeck(deck, DeckManager.makeFileName(deck)); DeckManager.writeDeck(deck, DeckManager.makeFileName(deck));
} }
@@ -345,7 +344,7 @@ public class DeckEditorMenu extends JMenuBar implements NewConstants {
} }
private boolean canLeaveCurrentDeck() { private boolean canLeaveCurrentDeck() {
if (isSaved()) return true; if (isSaved()) { return true; }
String message = String.format("Do you wish to save changes you made to your current deck '%s'?", currentDeckName); String message = String.format("Do you wish to save changes you made to your current deck '%s'?", currentDeckName);
int choice = JOptionPane.showConfirmDialog((Component) deckDisplay, message, int choice = JOptionPane.showConfirmDialog((Component) deckDisplay, message,
"You have unsaved changes in your deck", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE); "You have unsaved changes in your deck", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE);
@@ -358,29 +357,28 @@ public class DeckEditorMenu extends JMenuBar implements NewConstants {
return true; return true;
} }
private Deck getDeck() private Deck getDeck() {
{
Deck deck = deckDisplay.getDeck(); Deck deck = deckDisplay.getDeck();
deck.setName(currentDeckName); deck.setName(currentDeckName);
return deck; return deck;
} }
private void setDeckData(final String deckName, final boolean in_isDeckSaved) { private void setDeckData(final String deckName, final boolean inDeckSaved) {
currentDeckName = deckName; currentDeckName = deckName;
isDeckSaved = in_isDeckSaved; isDeckSaved = inDeckSaved;
deckDisplay.setTitle("Deck Editor : " + currentDeckName); deckDisplay.setTitle("Deck Editor : " + currentDeckName);
} }
public final String getDeckName() { return currentDeckName; } public String getDeckName() { return currentDeckName; }
public final boolean isSaved() { return isDeckSaved; } public boolean isSaved() { return isDeckSaved; }
/** /**
* <p>getUserInput_GetDeckName.</p> * <p>getUserInput_GetDeckName.</p>
* *
* @return a {@link java.lang.String} object. * @return a {@link java.lang.String} object.
*/ */
private String getUserInput_GetDeckName() { private String getDeckNameFromDialog() {
Object o = JOptionPane.showInputDialog(null, "Save As", "Deck Name", JOptionPane.OK_CANCEL_OPTION); Object o = JOptionPane.showInputDialog(null, "Save As", "Deck Name", JOptionPane.OK_CANCEL_OPTION);
if (o == null) { return ""; } if (o == null) { return ""; }
@@ -393,7 +391,7 @@ public class DeckEditorMenu extends JMenuBar implements NewConstants {
if (isGoodName) { return deckName; } if (isGoodName) { return deckName; }
JOptionPane.showMessageDialog(null, "Please pick another deck name, another deck currently has that name."); JOptionPane.showMessageDialog(null, "Please pick another deck name, another deck currently has that name.");
return getUserInput_GetDeckName(); return getDeckNameFromDialog();
} }
private String getUserInput_OpenDeck(final GameType deckType) { private String getUserInput_OpenDeck(final GameType deckType) {

View File

@@ -5,6 +5,7 @@ import com.esotericsoftware.minlog.Log;
import forge.*; import forge.*;
import forge.card.CardPool; import forge.card.CardPool;
import forge.deck.Deck; import forge.deck.Deck;
import forge.deck.DeckGeneration;
import forge.deck.DeckManager; import forge.deck.DeckManager;
import forge.deck.generate.*; import forge.deck.generate.*;
import forge.error.BugzReporter; import forge.error.BugzReporter;
@@ -723,7 +724,7 @@ public class OldGuiNewGame extends JFrame implements NewConstants, NewConstants.
if (humanGenerate) { if (humanGenerate) {
if (constructed) { if (constructed) {
genDecks(PlayerType.HUMAN); DeckGeneration.genDecks(PlayerType.HUMAN);
} }
// else if(sealed) // else if(sealed)
// Constant.Runtime.HumanDeck[0] = generateSealedDeck(); // Constant.Runtime.HumanDeck[0] = generateSealedDeck();
@@ -743,7 +744,7 @@ public class OldGuiNewGame extends JFrame implements NewConstants, NewConstants.
if (computerGenerate) { if (computerGenerate) {
if (constructed) { if (constructed) {
genDecks(PlayerType.COMPUTER); DeckGeneration.genDecks(PlayerType.COMPUTER);
} // Constant.Runtime.ComputerDeck[0] = } // Constant.Runtime.ComputerDeck[0] =
// generateConstructedDeck(); // generateConstructedDeck();
// else if(sealed) // else if(sealed)
@@ -775,299 +776,6 @@ public class OldGuiNewGame extends JFrame implements NewConstants, NewConstants.
dispose(); dispose();
} // startButton_actionPerformed() } // startButton_actionPerformed()
/**
* <p>
* genDecks.
* </p>
*
* @param playerType
* {@link java.lang.String} object.
*/
private void genDecks(final PlayerType playerType) {
// TODO: jendave to refactor deck generation
Deck d = null;
ArrayList<String> decks = new ArrayList<String>();
decks.add("2-Color Deck");
decks.add("3-Color Deck");
decks.add("5-Color Deck");
decks.add("2-Color Deck (original)");
decks.add("3-Color Deck (original)");
decks.add("5-Color Deck (original)");
decks.add("Semi-Random Theme Deck");
String prompt = "Generate ";
if (playerType.equals(PlayerType.HUMAN)) {
prompt += "Human ";
} else {
prompt += "Computer ";
}
prompt += "Deck";
Object o = GuiUtils.getChoice(prompt, decks.toArray());
if (o.toString().equals(decks.get(0))) {
d = generate2ColorDeck(playerType);
} else if (o.toString().equals(decks.get(1))) {
d = generate3ColorDeck(playerType);
} else if (o.toString().equals(decks.get(2))) {
d = generate5ColorDeck(playerType);
} else if (o.toString().equals(decks.get(3))) {
d = generateConstructedDeck();
} else if (o.toString().equals(decks.get(4))) {
d = generateConstructed3ColorDeck();
} else if (o.toString().equals(decks.get(5))) {
d = generateConstructed5ColorDeck();
} else if (o.toString().equals(decks.get(6))) {
d = generateConstructedThemeDeck();
}
if (playerType.equals(PlayerType.HUMAN)) {
Constant.Runtime.HumanDeck[0] = d;
} else if (playerType.equals(PlayerType.COMPUTER)) {
Constant.Runtime.ComputerDeck[0] = d;
}
}
/**
* <p>
* generateConstructedDeck.
* </p>
*
* @return a {@link forge.deck.Deck} object.
*/
private Deck generateConstructedDeck() {
GenerateConstructedDeck gen = new GenerateConstructedDeck();
CardList name = gen.generateDeck();
Deck deck = new Deck(GameType.Constructed);
for (int i = 0; i < 60; i++) {
deck.addMain(name.get(i).getName());
}
return deck;
}
/**
* <p>
* generateConstructed3ColorDeck.
* </p>
*
* @return a {@link forge.deck.Deck} object.
*/
private Deck generateConstructed3ColorDeck() {
GenerateConstructedMultiColorDeck gen = new GenerateConstructedMultiColorDeck();
CardList name = gen.generate3ColorDeck();
Deck deck = new Deck(GameType.Constructed);
for (int i = 0; i < 60; i++) {
deck.addMain(name.get(i).getName());
}
return deck;
}
/**
* <p>
* generateConstructed5ColorDeck.
* </p>
*
* @return a {@link forge.deck.Deck} object.
*/
private Deck generateConstructed5ColorDeck() {
GenerateConstructedMultiColorDeck gen = new GenerateConstructedMultiColorDeck();
CardList name = gen.generate5ColorDeck();
Deck deck = new Deck(GameType.Constructed);
for (int i = 0; i < 60; i++) {
deck.addMain(name.get(i).getName());
}
return deck;
}
/**
* <p>
* generateConstructedThemeDeck.
* </p>
*
* @return a {@link forge.deck.Deck} object.
*/
private Deck generateConstructedThemeDeck() {
GenerateThemeDeck gen = new GenerateThemeDeck();
ArrayList<String> tNames = gen.getThemeNames();
tNames.add(0, "Random");
Object o = GuiUtils.getChoice("Select a theme.", tNames.toArray());
String stDeck;
if (o.toString().equals("Random")) {
Random r = MyRandom.random;
stDeck = tNames.get(r.nextInt(tNames.size() - 1) + 1);
} else {
stDeck = o.toString();
}
CardList td = gen.getThemeDeck(stDeck, 60);
Deck deck = new Deck(GameType.Constructed);
for (int i = 0; i < td.size(); i++) {
deck.addMain(td.get(i).getName());
}
return deck;
}
/**
* <p>
* generate2ColorDeck.
* </p>
*
* @param p
* a {@link java.lang.String} object.
* @return a {@link forge.deck.Deck} object.
*/
private Deck generate2ColorDeck(final PlayerType p) {
Random r = MyRandom.random;
ArrayList<String> colors = new ArrayList<String>();
colors.add("Random");
colors.add("white");
colors.add("blue");
colors.add("black");
colors.add("red");
colors.add("green");
String c1;
String c2;
if (p.equals(PlayerType.HUMAN)) {
c1 = GuiUtils.getChoice("Select first color.", colors.toArray()).toString();
if (c1.equals("Random")) {
c1 = colors.get(r.nextInt(colors.size() - 1) + 1);
}
colors.remove(c1);
c2 = GuiUtils.getChoice("Select second color.", colors.toArray()).toString();
if (c2.equals("Random")) {
c2 = colors.get(r.nextInt(colors.size() - 1) + 1);
}
} else {
// if (p.equals("C"))
c1 = colors.get(r.nextInt(colors.size() - 1) + 1);
colors.remove(c1);
c2 = colors.get(r.nextInt(colors.size() - 1) + 1);
}
Generate2ColorDeck gen = new Generate2ColorDeck(c1, c2);
CardList d = gen.get2ColorDeck(60, p);
Deck deck = new Deck(GameType.Constructed);
for (int i = 0; i < d.size(); i++) {
deck.addMain(d.get(i).getName());
}
return deck;
}
/**
* <p>
* generate3ColorDeck.
* </p>
*
* @param p
* a {@link java.lang.String} object.
* @return a {@link forge.deck.Deck} object.
*/
private Deck generate3ColorDeck(final PlayerType p) {
Random r = MyRandom.random;
ArrayList<String> colors = new ArrayList<String>();
colors.add("Random");
colors.add("white");
colors.add("blue");
colors.add("black");
colors.add("red");
colors.add("green");
String c1;
String c2;
String c3;
if (p.equals(PlayerType.HUMAN)) {
c1 = GuiUtils.getChoice("Select first color.", colors.toArray()).toString();
if (c1.equals("Random")) {
c1 = colors.get(r.nextInt(colors.size() - 1) + 1);
}
colors.remove(c1);
c2 = GuiUtils.getChoice("Select second color.", colors.toArray()).toString();
if (c2.equals("Random")) {
c2 = colors.get(r.nextInt(colors.size() - 1) + 1);
}
colors.remove(c2);
c3 = GuiUtils.getChoice("Select third color.", colors.toArray()).toString();
if (c3.equals("Random")) {
c3 = colors.get(r.nextInt(colors.size() - 1) + 1);
}
} else {
// if (p.equals("C"))
c1 = colors.get(r.nextInt(colors.size() - 1) + 1);
colors.remove(c1);
c2 = colors.get(r.nextInt(colors.size() - 1) + 1);
colors.remove(c2);
c3 = colors.get(r.nextInt(colors.size() - 1) + 1);
}
Generate3ColorDeck gen = new Generate3ColorDeck(c1, c2, c3);
CardList d = gen.get3ColorDeck(60, p);
Deck deck = new Deck(GameType.Constructed);
for (int i = 0; i < d.size(); i++) {
deck.addMain(d.get(i).getName());
}
return deck;
}
/**
* <p>
* generate3ColorDeck.
* </p>
*
* @param p
* a {@link java.lang.String} object.
* @return a {@link forge.deck.Deck} object.
*/
private Deck generate5ColorDeck(final PlayerType p) {
//Random r = MyRandom.random;
//ArrayList<String> colors = new ArrayList<String>();
//colors.add("Random");
//colors.add("white");
//colors.add("blue");
//colors.add("black");
//colors.add("red");
//colors.add("green");
Generate5ColorDeck gen = new Generate5ColorDeck("white", "blue", "black", "red", "green");
CardList d = gen.get5ColorDeck(60, p);
Deck deck = new Deck(GameType.Constructed);
for (int i = 0; i < d.size(); i++) {
deck.addMain(d.get(i).getName());
}
return deck;
}
/** /**
* <p> * <p>
@@ -1105,8 +813,7 @@ public class OldGuiNewGame extends JFrame implements NewConstants, NewConstants.
computerComboBox.removeAllItems(); computerComboBox.removeAllItems();
allDecks = getDecks(); allDecks = getDecks();
switch(Constant.Runtime.gameType) switch (Constant.Runtime.gameType) {
{
case Sealed: case Sealed:
humanComboBox.addItem("New Sealed"); humanComboBox.addItem("New Sealed");
computerComboBox.addItem("New Sealed"); computerComboBox.addItem("New Sealed");