mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 12:48:00 +00:00
Read rankings from cache instead of reading file every time.
This commit is contained in:
@@ -16,8 +16,8 @@ import forge.gui.toolbox.FOptionPane;
|
|||||||
import forge.gui.toolbox.itemmanager.ItemManagerConfig;
|
import forge.gui.toolbox.itemmanager.ItemManagerConfig;
|
||||||
import forge.item.InventoryItem;
|
import forge.item.InventoryItem;
|
||||||
import forge.item.PaperCard;
|
import forge.item.PaperCard;
|
||||||
|
import forge.limited.DraftRankCache;
|
||||||
import forge.limited.LimitedPoolType;
|
import forge.limited.LimitedPoolType;
|
||||||
import forge.limited.ReadDraftRankings;
|
|
||||||
import forge.limited.SealedCardPoolGenerator;
|
import forge.limited.SealedCardPoolGenerator;
|
||||||
import forge.limited.SealedDeckBuilder;
|
import forge.limited.SealedDeckBuilder;
|
||||||
import forge.properties.ForgePreferences.FPref;
|
import forge.properties.ForgePreferences.FPref;
|
||||||
@@ -233,8 +233,6 @@ public enum CSubmenuSealed implements ICDoc {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static class DeckComparer implements java.util.Comparator<Deck> {
|
static class DeckComparer implements java.util.Comparator<Deck> {
|
||||||
ReadDraftRankings ranker = new ReadDraftRankings();
|
|
||||||
|
|
||||||
public double getDraftValue(Deck d) {
|
public double getDraftValue(Deck d) {
|
||||||
double value = 0;
|
double value = 0;
|
||||||
double divider = 0;
|
double divider = 0;
|
||||||
@@ -248,8 +246,8 @@ public enum CSubmenuSealed implements ICDoc {
|
|||||||
for (Entry<PaperCard, Integer> kv : d.getMain()) {
|
for (Entry<PaperCard, Integer> kv : d.getMain()) {
|
||||||
PaperCard evalCard = kv.getKey();
|
PaperCard evalCard = kv.getKey();
|
||||||
int count = kv.getValue();
|
int count = kv.getValue();
|
||||||
if (ranker.getRanking(evalCard.getName(), evalCard.getEdition()) != null) {
|
if (DraftRankCache.getRanking(evalCard.getName(), evalCard.getEdition()) != null) {
|
||||||
double add = ranker.getRanking(evalCard.getName(), evalCard.getEdition());
|
double add = DraftRankCache.getRanking(evalCard.getName(), evalCard.getEdition());
|
||||||
// System.out.println(evalCard.getName() + " is worth " + add);
|
// System.out.println(evalCard.getName() + " is worth " + add);
|
||||||
value += add * count;
|
value += add * count;
|
||||||
divider += count;
|
divider += count;
|
||||||
|
|||||||
@@ -51,7 +51,6 @@ public class BoosterDraftAI {
|
|||||||
private final List<List<PaperCard>> deck = new ArrayList<List<PaperCard>>();
|
private final List<List<PaperCard>> deck = new ArrayList<List<PaperCard>>();
|
||||||
private final ArrayList<DeckColors> playerColors = new ArrayList<DeckColors>();
|
private final ArrayList<DeckColors> playerColors = new ArrayList<DeckColors>();
|
||||||
|
|
||||||
private ReadDraftRankings draftRankings;
|
|
||||||
// roughly equivalent to 25 ranks in a core set, or 15 ranks in a small set
|
// roughly equivalent to 25 ranks in a core set, or 15 ranks in a small set
|
||||||
private static final double TAKE_BEST_THRESHOLD = 0.1;
|
private static final double TAKE_BEST_THRESHOLD = 0.1;
|
||||||
|
|
||||||
@@ -132,7 +131,7 @@ public class BoosterDraftAI {
|
|||||||
private List<Pair<PaperCard, Double>> rankCards(final Iterable<PaperCard> chooseFrom) {
|
private List<Pair<PaperCard, Double>> rankCards(final Iterable<PaperCard> chooseFrom) {
|
||||||
List<Pair<PaperCard, Double>> rankedCards = new ArrayList<Pair<PaperCard,Double>>();
|
List<Pair<PaperCard, Double>> rankedCards = new ArrayList<Pair<PaperCard,Double>>();
|
||||||
for (PaperCard card : chooseFrom) {
|
for (PaperCard card : chooseFrom) {
|
||||||
Double rkg = draftRankings.getRanking(card.getName(), card.getEdition());
|
Double rkg = DraftRankCache.getRanking(card.getName(), card.getEdition());
|
||||||
if (rkg != null) {
|
if (rkg != null) {
|
||||||
rankedCards.add(MutablePair.of(card, rkg));
|
rankedCards.add(MutablePair.of(card, rkg));
|
||||||
} else {
|
} else {
|
||||||
@@ -174,9 +173,6 @@ public class BoosterDraftAI {
|
|||||||
this.deck.add(new ArrayList<PaperCard>());
|
this.deck.add(new ArrayList<PaperCard>());
|
||||||
this.playerColors.add(new DeckColors());
|
this.playerColors.add(new DeckColors());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Initialize card rankings
|
|
||||||
this.draftRankings = new ReadDraftRankings();
|
|
||||||
} // BoosterDraftAI()
|
} // BoosterDraftAI()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -40,8 +40,6 @@ public class LimitedDeckBuilder extends DeckGeneratorBase{
|
|||||||
private Iterable<PaperCard> onColorCreatures;
|
private Iterable<PaperCard> onColorCreatures;
|
||||||
private Iterable<PaperCard> onColorNonCreatures;
|
private Iterable<PaperCard> onColorNonCreatures;
|
||||||
|
|
||||||
private static ReadDraftRankings draftRankings = new ReadDraftRankings();
|
|
||||||
|
|
||||||
private static final boolean logToConsole = false;
|
private static final boolean logToConsole = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -677,7 +675,7 @@ public class LimitedDeckBuilder extends DeckGeneratorBase{
|
|||||||
protected List<Pair<Double, PaperCard>> rankCards(Iterable<PaperCard> cards) {
|
protected List<Pair<Double, PaperCard>> rankCards(Iterable<PaperCard> cards) {
|
||||||
List<Pair<Double, PaperCard>> ranked = new ArrayList<Pair<Double, PaperCard>>();
|
List<Pair<Double, PaperCard>> ranked = new ArrayList<Pair<Double, PaperCard>>();
|
||||||
for (PaperCard card : cards) {
|
for (PaperCard card : cards) {
|
||||||
Double rkg = draftRankings.getRanking(card.getName(), card.getEdition());
|
Double rkg = DraftRankCache.getRanking(card.getName(), card.getEdition());
|
||||||
if (rkg != null) {
|
if (rkg != null) {
|
||||||
ranked.add(Pair.of(rkg, card));
|
ranked.add(Pair.of(rkg, card));
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user