mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 20:28:00 +00:00
Checkstyle changes
Moved deck generation code away from OldGuiNewGame
This commit is contained in:
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -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/package-info.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/DownloadDeck.java svneol=native#text/plain
|
||||
src/main/java/forge/deck/generate/Generate2ColorDeck.java svneol=native#text/plain
|
||||
|
||||
314
src/main/java/forge/deck/DeckGeneration.java
Normal file
314
src/main/java/forge/deck/DeckGeneration.java
Normal 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;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,8 +1,7 @@
|
||||
package forge.game;
|
||||
|
||||
/**
|
||||
* TODO: Write javadoc for this type.
|
||||
*
|
||||
* GameType is an enum to determine the type of current game. :)
|
||||
*/
|
||||
public enum GameType {
|
||||
Constructed(false),
|
||||
@@ -17,7 +16,7 @@ public enum GameType {
|
||||
bLimited = isLimited;
|
||||
}
|
||||
|
||||
public static GameType smartValueOf(String value){
|
||||
public static GameType smartValueOf(final String value) {
|
||||
String valToCompate = value.trim();
|
||||
for (GameType v : GameType.values()) {
|
||||
if (v.name().compareToIgnoreCase(valToCompate) == 0) {
|
||||
|
||||
@@ -19,6 +19,9 @@ import forge.view.swing.OldGuiNewGame;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
import org.apache.axis.utils.ArrayUtil;
|
||||
import org.apache.commons.lang3.ArrayUtils;
|
||||
|
||||
import net.slightlymagic.maxmtg.Predicate;
|
||||
|
||||
import java.awt.*;
|
||||
@@ -166,7 +169,7 @@ public class DeckEditorDraft extends DeckEditorBase implements NewConstants, New
|
||||
*
|
||||
* @param e a {@link java.awt.event.ActionEvent} object.
|
||||
*/
|
||||
void jButton1_actionPerformed(ActionEvent e) {
|
||||
void jButton1_actionPerformed(final ActionEvent e) {
|
||||
CardPrinted card = top.getSelectedCard();
|
||||
if (null == card) { return; }
|
||||
|
||||
@@ -181,8 +184,7 @@ public class DeckEditorDraft extends DeckEditorBase implements NewConstants, New
|
||||
if (BoosterDraft.draftPicks.size() > 1) {
|
||||
ArrayList<String> outDraftData = new ArrayList<String>();
|
||||
|
||||
String keys[] = {""};
|
||||
keys = BoosterDraft.draftPicks.keySet().toArray(keys);
|
||||
String[] keys = BoosterDraft.draftPicks.keySet().toArray(ArrayUtils.EMPTY_STRING_ARRAY);
|
||||
|
||||
for (int i = 0; i < keys.length; i++) {
|
||||
outDraftData.add(keys[i] + "|" + BoosterDraft.draftPicks.get(keys[i]));
|
||||
|
||||
@@ -35,7 +35,7 @@ import javax.swing.SwingUtilities;
|
||||
* @author Forge
|
||||
* @version $Id$
|
||||
*/
|
||||
public class DeckEditorMenu extends JMenuBar implements NewConstants {
|
||||
public final class DeckEditorMenu extends JMenuBar implements NewConstants {
|
||||
|
||||
/** Constant <code>serialVersionUID=-4037993759604768755L</code> */
|
||||
private static final long serialVersionUID = -4037993759604768755L;
|
||||
@@ -130,8 +130,8 @@ public class DeckEditorMenu extends JMenuBar implements NewConstants {
|
||||
} //setupSortMenu()
|
||||
|
||||
|
||||
public void newConstructed(boolean careAboutOldDeck) {
|
||||
if (careAboutOldDeck && !canLeaveCurrentDeck()) return;
|
||||
public void newConstructed(final boolean careAboutOldDeck) {
|
||||
if (careAboutOldDeck && !canLeaveCurrentDeck()) { return; }
|
||||
|
||||
setDeckData("", true);
|
||||
|
||||
@@ -139,7 +139,7 @@ public class DeckEditorMenu extends JMenuBar implements NewConstants {
|
||||
}
|
||||
|
||||
private void newRandomConstructed() {
|
||||
if (!canLeaveCurrentDeck()) return;
|
||||
if (!canLeaveCurrentDeck()) { return; }
|
||||
|
||||
setDeckData("", false);
|
||||
|
||||
@@ -159,7 +159,7 @@ public class DeckEditorMenu extends JMenuBar implements NewConstants {
|
||||
}
|
||||
|
||||
private void newGenerateConstructed() {
|
||||
if (!canLeaveCurrentDeck()) return;
|
||||
if (!canLeaveCurrentDeck()) { return; }
|
||||
|
||||
setDeckData("", false);
|
||||
|
||||
@@ -296,7 +296,7 @@ public class DeckEditorMenu extends JMenuBar implements NewConstants {
|
||||
}
|
||||
|
||||
private void saveAs() {
|
||||
String name = getUserInput_GetDeckName();
|
||||
String name = getDeckNameFromDialog();
|
||||
|
||||
if (name.equals("")) { return; }
|
||||
setDeckData(name, true);
|
||||
@@ -312,8 +312,7 @@ public class DeckEditorMenu extends JMenuBar implements NewConstants {
|
||||
all[0] = deck;
|
||||
deckManager.addDraftDeck(all);
|
||||
DeckManager.writeDraftDecks(all);
|
||||
} else//constructed and sealed
|
||||
{
|
||||
} else {//constructed and sealed
|
||||
deckManager.addDeck(deck);
|
||||
DeckManager.writeDeck(deck, DeckManager.makeFileName(deck));
|
||||
}
|
||||
@@ -345,7 +344,7 @@ public class DeckEditorMenu extends JMenuBar implements NewConstants {
|
||||
}
|
||||
|
||||
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);
|
||||
int choice = JOptionPane.showConfirmDialog((Component) deckDisplay, 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;
|
||||
}
|
||||
|
||||
private Deck getDeck()
|
||||
{
|
||||
private Deck getDeck() {
|
||||
Deck deck = deckDisplay.getDeck();
|
||||
deck.setName(currentDeckName);
|
||||
return deck;
|
||||
}
|
||||
|
||||
private void setDeckData(final String deckName, final boolean in_isDeckSaved) {
|
||||
private void setDeckData(final String deckName, final boolean inDeckSaved) {
|
||||
currentDeckName = deckName;
|
||||
isDeckSaved = in_isDeckSaved;
|
||||
isDeckSaved = inDeckSaved;
|
||||
|
||||
deckDisplay.setTitle("Deck Editor : " + currentDeckName);
|
||||
}
|
||||
|
||||
public final String getDeckName() { return currentDeckName; }
|
||||
public final boolean isSaved() { return isDeckSaved; }
|
||||
public String getDeckName() { return currentDeckName; }
|
||||
public boolean isSaved() { return isDeckSaved; }
|
||||
|
||||
/**
|
||||
* <p>getUserInput_GetDeckName.</p>
|
||||
*
|
||||
* @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);
|
||||
|
||||
if (o == null) { return ""; }
|
||||
@@ -393,7 +391,7 @@ public class DeckEditorMenu extends JMenuBar implements NewConstants {
|
||||
if (isGoodName) { return deckName; }
|
||||
|
||||
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) {
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.esotericsoftware.minlog.Log;
|
||||
import forge.*;
|
||||
import forge.card.CardPool;
|
||||
import forge.deck.Deck;
|
||||
import forge.deck.DeckGeneration;
|
||||
import forge.deck.DeckManager;
|
||||
import forge.deck.generate.*;
|
||||
import forge.error.BugzReporter;
|
||||
@@ -723,7 +724,7 @@ public class OldGuiNewGame extends JFrame implements NewConstants, NewConstants.
|
||||
|
||||
if (humanGenerate) {
|
||||
if (constructed) {
|
||||
genDecks(PlayerType.HUMAN);
|
||||
DeckGeneration.genDecks(PlayerType.HUMAN);
|
||||
}
|
||||
// else if(sealed)
|
||||
// Constant.Runtime.HumanDeck[0] = generateSealedDeck();
|
||||
@@ -743,7 +744,7 @@ public class OldGuiNewGame extends JFrame implements NewConstants, NewConstants.
|
||||
|
||||
if (computerGenerate) {
|
||||
if (constructed) {
|
||||
genDecks(PlayerType.COMPUTER);
|
||||
DeckGeneration.genDecks(PlayerType.COMPUTER);
|
||||
} // Constant.Runtime.ComputerDeck[0] =
|
||||
// generateConstructedDeck();
|
||||
// else if(sealed)
|
||||
@@ -775,299 +776,6 @@ public class OldGuiNewGame extends JFrame implements NewConstants, NewConstants.
|
||||
dispose();
|
||||
} // 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>
|
||||
@@ -1105,8 +813,7 @@ public class OldGuiNewGame extends JFrame implements NewConstants, NewConstants.
|
||||
computerComboBox.removeAllItems();
|
||||
|
||||
allDecks = getDecks();
|
||||
switch(Constant.Runtime.gameType)
|
||||
{
|
||||
switch (Constant.Runtime.gameType) {
|
||||
case Sealed:
|
||||
humanComboBox.addItem("New Sealed");
|
||||
computerComboBox.addItem("New Sealed");
|
||||
|
||||
Reference in New Issue
Block a user