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/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

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;
/**
* 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) {

View File

@@ -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]));

View File

@@ -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) {

View File

@@ -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");