- Random deck generation will once again differentiate between human and computer decks.

This commit is contained in:
Sloth
2012-10-09 18:44:40 +00:00
parent e33123fe68
commit df75cfe6d3
5 changed files with 14 additions and 11 deletions

View File

@@ -65,7 +65,7 @@ public class DeckgenUtil {
* @param selection {@link java.lang.String} array * @param selection {@link java.lang.String} array
* @return {@link forge.deck.Deck} * @return {@link forge.deck.Deck}
*/ */
public static Deck buildColorDeck(final String[] selection) { public static Deck buildColorDeck(final String[] selection, PlayerType pt) {
ItemPoolView<CardPrinted> cards = null; ItemPoolView<CardPrinted> cards = null;
final Deck deck; final Deck deck;
@@ -78,16 +78,16 @@ public class DeckgenUtil {
if (selection.length == 2) { if (selection.length == 2) {
final Generate2ColorDeck gen = new Generate2ColorDeck( final Generate2ColorDeck gen = new Generate2ColorDeck(
selection[0], selection[1]); selection[0], selection[1]);
cards = gen.get2ColorDeck(60, PlayerType.HUMAN); cards = gen.get2ColorDeck(60, pt);
} }
else if (selection.length == 3) { else if (selection.length == 3) {
final Generate3ColorDeck gen = new Generate3ColorDeck( final Generate3ColorDeck gen = new Generate3ColorDeck(
selection[0], selection[1], selection[2]); selection[0], selection[1], selection[2]);
cards = gen.get3ColorDeck(60, PlayerType.HUMAN); cards = gen.get3ColorDeck(60, pt);
} }
else { else {
final Generate5ColorDeck gen = new Generate5ColorDeck(); final Generate5ColorDeck gen = new Generate5ColorDeck();
cards = gen.get5ColorDeck(60, PlayerType.HUMAN); cards = gen.get5ColorDeck(60, pt);
} }
// After generating card lists, build deck. // After generating card lists, build deck.
@@ -130,7 +130,7 @@ public class DeckgenUtil {
} }
/** @return {@link forge.deck.Deck} */ /** @return {@link forge.deck.Deck} */
public static Deck getRandomColorDeck() { public static Deck getRandomColorDeck(PlayerType pt) {
final int[] colorCount = new int[] {2, 3, 5}; final int[] colorCount = new int[] {2, 3, 5};
final int count = colorCount[(int) (Math.round(Math.random() * 2))]; final int count = colorCount[(int) (Math.round(Math.random() * 2))];
final String[] selection = new String[count]; final String[] selection = new String[count];
@@ -138,7 +138,7 @@ public class DeckgenUtil {
// A simulated selection of "random 1" will trigger the AI selection process. // A simulated selection of "random 1" will trigger the AI selection process.
for (int i = 0; i < count; i++) { selection[i] = "Random 1"; } for (int i = 0; i < count; i++) { selection[i] = "Random 1"; }
return DeckgenUtil.buildColorDeck(selection); return DeckgenUtil.buildColorDeck(selection, pt);
} }
/** @return {@link forge.deck.Deck} */ /** @return {@link forge.deck.Deck} */

View File

@@ -23,6 +23,7 @@ import forge.deck.Deck;
import forge.deck.DeckgenUtil; import forge.deck.DeckgenUtil;
import forge.deck.DeckgenUtil.DeckTypes; import forge.deck.DeckgenUtil.DeckTypes;
import forge.deck.generate.GenerateThemeDeck; import forge.deck.generate.GenerateThemeDeck;
import forge.game.player.PlayerType;
import forge.gauntlet.GauntletData; import forge.gauntlet.GauntletData;
import forge.gauntlet.GauntletIO; import forge.gauntlet.GauntletIO;
import forge.gui.framework.ICDoc; import forge.gui.framework.ICDoc;
@@ -235,7 +236,7 @@ public enum CSubmenuGauntletBuild implements ICDoc {
if (view.getRadColorDecks().isSelected()) { if (view.getRadColorDecks().isSelected()) {
if (!DeckgenUtil.colorCheck(selection)) { return; } if (!DeckgenUtil.colorCheck(selection)) { return; }
deckToAdd = DeckgenUtil.buildColorDeck(selection); deckToAdd = DeckgenUtil.buildColorDeck(selection, PlayerType.HUMAN);
} }
else if (view.getRadQuestDecks().isSelected()) { else if (view.getRadQuestDecks().isSelected()) {
deckToAdd = DeckgenUtil.buildQuestDeck(selection); deckToAdd = DeckgenUtil.buildQuestDeck(selection);

View File

@@ -26,6 +26,7 @@ import forge.deck.generate.GenerateThemeDeck;
import forge.game.GameNew; import forge.game.GameNew;
import forge.game.GameType; import forge.game.GameType;
import forge.game.PlayerStartsGame; import forge.game.PlayerStartsGame;
import forge.game.player.PlayerType;
import forge.gauntlet.GauntletData; import forge.gauntlet.GauntletData;
import forge.gauntlet.GauntletIO; import forge.gauntlet.GauntletIO;
import forge.gui.SOverlayUtils; import forge.gui.SOverlayUtils;
@@ -220,7 +221,7 @@ public enum CSubmenuGauntletContests implements ICDoc {
if (view.getRadColorDecks().isSelected()) { if (view.getRadColorDecks().isSelected()) {
if (!DeckgenUtil.colorCheck(selection)) { return; } if (!DeckgenUtil.colorCheck(selection)) { return; }
userDeck = DeckgenUtil.buildColorDeck(selection); userDeck = DeckgenUtil.buildColorDeck(selection, PlayerType.HUMAN);
} }
else if (view.getRadQuestDecks().isSelected()) { else if (view.getRadQuestDecks().isSelected()) {
userDeck = DeckgenUtil.buildQuestDeck(selection); userDeck = DeckgenUtil.buildQuestDeck(selection);

View File

@@ -26,6 +26,7 @@ import forge.deck.generate.GenerateThemeDeck;
import forge.game.GameNew; import forge.game.GameNew;
import forge.game.GameType; import forge.game.GameType;
import forge.game.PlayerStartsGame; import forge.game.PlayerStartsGame;
import forge.game.player.PlayerType;
import forge.gauntlet.GauntletData; import forge.gauntlet.GauntletData;
import forge.gauntlet.GauntletIO; import forge.gauntlet.GauntletIO;
import forge.gui.SOverlayUtils; import forge.gui.SOverlayUtils;
@@ -230,7 +231,7 @@ public enum CSubmenuGauntletQuick implements ICDoc {
if (view.getRadColorDecks().isSelected()) { if (view.getRadColorDecks().isSelected()) {
if (!DeckgenUtil.colorCheck(selection)) { return; } if (!DeckgenUtil.colorCheck(selection)) { return; }
userDeck = DeckgenUtil.buildColorDeck(selection); userDeck = DeckgenUtil.buildColorDeck(selection, PlayerType.HUMAN);
} }
else if (view.getRadQuestDecks().isSelected()) { else if (view.getRadQuestDecks().isSelected()) {
userDeck = DeckgenUtil.buildQuestDeck(selection); userDeck = DeckgenUtil.buildQuestDeck(selection);
@@ -258,7 +259,7 @@ public enum CSubmenuGauntletQuick implements ICDoc {
for (int i = 0; i < numOpponents; i++) { for (int i = 0; i < numOpponents; i++) {
randType = (int) Math.round(Math.random() * (lstDecktypes.size() - 1)); randType = (int) Math.round(Math.random() * (lstDecktypes.size() - 1));
if (lstDecktypes.get(randType).equals(DeckTypes.COLORS)) { if (lstDecktypes.get(randType).equals(DeckTypes.COLORS)) {
tempDeck = DeckgenUtil.getRandomColorDeck(); tempDeck = DeckgenUtil.getRandomColorDeck(PlayerType.COMPUTER);
lstEventNames.add("Random colors deck"); lstEventNames.add("Random colors deck");
} }
else if (lstDecktypes.get(randType).equals(DeckTypes.THEMES)) { else if (lstDecktypes.get(randType).equals(DeckTypes.THEMES)) {

View File

@@ -347,7 +347,7 @@ public enum CSubmenuConstructed implements ICDoc {
if (selection.length == 0) { return null; } if (selection.length == 0) { return null; }
if (lst0.getName().equals(ESubmenuConstructedTypes.COLORS.toString()) && DeckgenUtil.colorCheck(selection)) { if (lst0.getName().equals(ESubmenuConstructedTypes.COLORS.toString()) && DeckgenUtil.colorCheck(selection)) {
deck = DeckgenUtil.buildColorDeck(selection); deck = DeckgenUtil.buildColorDeck(selection, player0);
} }
else if (lst0.getName().equals(ESubmenuConstructedTypes.THEMES.toString())) { else if (lst0.getName().equals(ESubmenuConstructedTypes.THEMES.toString())) {
deck = DeckgenUtil.buildThemeDeck(selection); deck = DeckgenUtil.buildThemeDeck(selection);