[CardRepository] Replaced findCard methods from Sets and ExpansionSet

This commit is contained in:
North 2012-10-22 23:48:52 +03:00
parent 042e4baa1f
commit 08815ffb88
12 changed files with 165 additions and 129 deletions

View file

@ -43,7 +43,6 @@ public class DeckGenerator {
private static final int DECK_LANDS = 16;
private static final int MAX_NON_BASIC_SOURCE = DECK_LANDS / 2;
private static final boolean GENERATE_RANDOM_BASIC_LAND = true;
private static final int MAX_TRIES = 4096;
private static Deck deck = new Deck();
@ -341,19 +340,24 @@ public class DeckGenerator {
*/
private static Card getBestBasicLand(ColoredManaSymbol color) {
if (color.equals(ColoredManaSymbol.G)) {
return Sets.findCard("Forest", GENERATE_RANDOM_BASIC_LAND);
CardInfo cardInfo = CardRepository.instance.findCard("Forest");
return cardInfo != null ? cardInfo.getCard() : null;
}
if (color.equals(ColoredManaSymbol.R)) {
return Sets.findCard("Mountain", GENERATE_RANDOM_BASIC_LAND);
CardInfo cardInfo = CardRepository.instance.findCard("Mountain");
return cardInfo != null ? cardInfo.getCard() : null;
}
if (color.equals(ColoredManaSymbol.B)) {
return Sets.findCard("Swamp", GENERATE_RANDOM_BASIC_LAND);
CardInfo cardInfo = CardRepository.instance.findCard("Swamp");
return cardInfo != null ? cardInfo.getCard() : null;
}
if (color.equals(ColoredManaSymbol.U)) {
return Sets.findCard("Island", GENERATE_RANDOM_BASIC_LAND);
CardInfo cardInfo = CardRepository.instance.findCard("Island");
return cardInfo != null ? cardInfo.getCard() : null;
}
if (color.equals(ColoredManaSymbol.W)) {
return Sets.findCard("Plains", GENERATE_RANDOM_BASIC_LAND);
CardInfo cardInfo = CardRepository.instance.findCard("Plains");
return cardInfo != null ? cardInfo.getCard() : null;
}
return null;

View file

@ -34,10 +34,14 @@
package mage.client.dialog;
import java.util.List;
import java.util.Random;
import javax.swing.JLayeredPane;
import mage.cards.Card;
import mage.cards.decks.Deck;
import mage.cards.repository.CardInfo;
import mage.cards.repository.CardRepository;
import mage.client.MageFrame;
import mage.sets.Sets;
/**
*
@ -59,6 +63,19 @@ public class AddLandDialog extends MageDialog {
this.setVisible(true);
}
private void addLands(String landName, int number) {
Random random = new Random();
List<CardInfo> cards = CardRepository.instance.findCards(landName);
if (cards.isEmpty()) {
return;
}
for (int i = 0; i < number; i++) {
Card land = cards.get(random.nextInt(cards.size())).getCard();
deck.getCards().add(land);
}
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
@ -194,25 +211,16 @@ public class AddLandDialog extends MageDialog {
private void btnAddActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnAddActionPerformed
int nForest = ((Number)spnForest.getValue()).intValue();
for (int i = 0; i < nForest; i++) {
deck.getCards().add(Sets.findCard("Forest", true));
}
int nIsland = ((Number)spnIsland.getValue()).intValue();
for (int i = 0; i < nIsland; i++) {
deck.getCards().add(Sets.findCard("Island", true));
}
int nMountain = ((Number)spnMountain.getValue()).intValue();
for (int i = 0; i < nMountain; i++) {
deck.getCards().add(Sets.findCard("Mountain", true));
}
int nPlains = ((Number)spnPlains.getValue()).intValue();
for (int i = 0; i < nPlains; i++) {
deck.getCards().add(Sets.findCard("Plains", true));
}
int nSwamp = ((Number)spnSwamp.getValue()).intValue();
for (int i = 0; i < nSwamp; i++) {
deck.getCards().add(Sets.findCard("Swamp", true));
}
addLands("Forest", nForest);
addLands("Island", nIsland);
addLands("Mountain", nMountain);
addLands("Plains", nPlains);
addLands("Swamp", nSwamp);
this.hideDialog();
}//GEN-LAST:event_btnAddActionPerformed

View file

@ -37,6 +37,7 @@ package mage.client.game;
import mage.cards.MageCard;
import mage.cards.action.ActionCallback;
import mage.cards.decks.importer.DckDeckImporter;
import mage.cards.repository.CardRepository;
import mage.client.MageFrame;
import mage.client.cards.BigCard;
import mage.client.components.HoverButton;
@ -50,7 +51,6 @@ import mage.client.util.ImageHelper;
import mage.client.util.gui.BufferedImageBuilder;
import mage.components.ImagePanel;
import mage.remote.Session;
import mage.sets.Sets;
import mage.view.CardView;
import mage.view.ManaPoolView;
import mage.view.PlayerView;
@ -202,7 +202,7 @@ public class PlayerPanelExt extends javax.swing.JPanel {
// Avatar
Image image = ImageHelper.getImageFromResources("/avatars/unknown.jpg");
topCardPanel = Plugins.getInstance().getMageCard(new CardView(Sets.findCard("Forest")), bigCard, topCardDimension, gameId, true);
topCardPanel = Plugins.getInstance().getMageCard(new CardView(CardRepository.instance.findCard("Forest").getCard()), bigCard, topCardDimension, gameId, true);
topCardPanel.setVisible(false);
panelBackground.add(topCardPanel);

View file

@ -29,9 +29,9 @@
package mage.client.util;
import mage.cards.Card;
import mage.cards.ExpansionSet;
import mage.cards.decks.Deck;
import mage.sets.Sets;
import mage.cards.repository.CardInfo;
import mage.cards.repository.CardRepository;
import mage.view.DeckView;
import mage.view.SimpleCardView;
import org.apache.log4j.Logger;
@ -51,25 +51,21 @@ public class DeckUtil {
public static Deck construct(DeckView view) {
Deck deck = new Deck();
for (SimpleCardView cardView : view.getCards().values()) {
ExpansionSet set = Sets.findSet(cardView.getExpansionSetCode());
if (set != null) {
Card card = set.findCard(cardView.getCardNumber());
if (card != null) {
deck.getCards().add(card);
} else {
log.fatal("(Deck constructing) Couldn't find card: set=" + cardView.getExpansionSetCode() + ", cid=" + Integer.valueOf(cardView.getCardNumber()));
}
CardInfo cardInfo = CardRepository.instance.findCard(cardView.getExpansionSetCode(), cardView.getCardNumber());
Card card = cardInfo != null ? cardInfo.getCard() : null;
if (card != null) {
deck.getCards().add(card);
} else {
log.fatal("(Deck constructing) Couldn't find card: set=" + cardView.getExpansionSetCode() + ", cid=" + Integer.valueOf(cardView.getCardNumber()));
}
}
for (SimpleCardView cardView : view.getSideboard().values()) {
ExpansionSet set = Sets.findSet(cardView.getExpansionSetCode());
if (set != null) {
Card card = set.findCard(cardView.getCardNumber());
if (card != null) {
deck.getSideboard().add(card);
} else {
log.fatal("(Deck constructing) Couldn't find card: set=" + cardView.getExpansionSetCode() + ", cid=" + Integer.valueOf(cardView.getCardNumber()));
}
CardInfo cardInfo = CardRepository.instance.findCard(cardView.getExpansionSetCode(), cardView.getCardNumber());
Card card = cardInfo != null ? cardInfo.getCard() : null;
if (card != null) {
deck.getSideboard().add(card);
} else {
log.fatal("(Deck constructing) Couldn't find card: set=" + cardView.getExpansionSetCode() + ", cid=" + Integer.valueOf(cardView.getCardNumber()));
}
}
return deck;