From 043ad7e3aa4fb5b9458fc51cf58b1c47c0b6f0c7 Mon Sep 17 00:00:00 2001 From: Maxmtg Date: Sun, 13 Aug 2017 02:19:15 +0000 Subject: [PATCH] simplify ConquestAwardPool --- .../planarconquest/ConquestAwardPool.java | 48 ++----------------- .../planarconquest/ConquestController.java | 20 ++++---- 2 files changed, 13 insertions(+), 55 deletions(-) diff --git a/forge-gui/src/main/java/forge/planarconquest/ConquestAwardPool.java b/forge-gui/src/main/java/forge/planarconquest/ConquestAwardPool.java index 2d30415af7b..4ac05952886 100644 --- a/forge-gui/src/main/java/forge/planarconquest/ConquestAwardPool.java +++ b/forge-gui/src/main/java/forge/planarconquest/ConquestAwardPool.java @@ -3,16 +3,15 @@ package forge.planarconquest; import java.util.ArrayList; import java.util.List; import forge.item.PaperCard; -import forge.util.Aggregates; public class ConquestAwardPool { - private final BoosterPool commons, uncommons, rares, mythics; + public final List commons, uncommons, rares, mythics; public ConquestAwardPool(Iterable cards) { - commons = new BoosterPool(); - uncommons = new BoosterPool(); - rares = new BoosterPool(); - mythics = new BoosterPool(); + commons = new ArrayList(); + uncommons = new ArrayList(); + rares = new ArrayList(); + mythics = new ArrayList(); for (PaperCard c : cards) { switch (c.getRarity()) { @@ -34,41 +33,4 @@ public class ConquestAwardPool { } } } - - public BoosterPool getCommons() { - return commons; - } - public BoosterPool getUncommons() { - return uncommons; - } - public BoosterPool getRares() { - return rares; - } - public BoosterPool getMythics() { - return mythics; - } - - public class BoosterPool { - private final List cards = new ArrayList(); - - private BoosterPool() { - } - - public boolean isEmpty() { - return cards.isEmpty(); - } - - private void add(PaperCard c) { - cards.add(c); - } - - public void rewardCard(List rewards) { - if (isEmpty()) { return; } - - int index = Aggregates.randomInt(0, cards.size() - 1); - PaperCard c = cards.get(index); - cards.remove(index); - rewards.add(c); - } - } } \ No newline at end of file diff --git a/forge-gui/src/main/java/forge/planarconquest/ConquestController.java b/forge-gui/src/main/java/forge/planarconquest/ConquestController.java index ab33b6b5a01..e79130f43a7 100644 --- a/forge-gui/src/main/java/forge/planarconquest/ConquestController.java +++ b/forge-gui/src/main/java/forge/planarconquest/ConquestController.java @@ -200,23 +200,19 @@ public class ConquestController { int boostersPerMythic = prefs.getPrefInt(CQPref.BOOSTERS_PER_MYTHIC); int raresPerBooster = prefs.getPrefInt(CQPref.BOOSTER_RARES); for (int i = 0; i < raresPerBooster; i++) { - if (pool.getMythics().isEmpty() || Aggregates.randomInt(1, boostersPerMythic) > 1) { - pool.getRares().rewardCard(rewards); - } - else { - pool.getMythics().rewardCard(rewards); - } + if (!pool.mythics.isEmpty() && Aggregates.randomInt(1, boostersPerMythic) == 1) + rewards.add(Aggregates.removeRandom(pool.mythics)); + else if(!pool.rares.isEmpty()) + rewards.add(Aggregates.removeRandom(pool.rares)); } int uncommonsPerBooster = prefs.getPrefInt(CQPref.BOOSTER_UNCOMMONS); - for (int i = 0; i < uncommonsPerBooster; i++) { - pool.getUncommons().rewardCard(rewards); - } + for (int i = 0; i < uncommonsPerBooster && !pool.uncommons.isEmpty(); i++) + rewards.add(Aggregates.removeRandom(pool.uncommons)); int commonsPerBooster = prefs.getPrefInt(CQPref.BOOSTER_COMMONS); - for (int i = 0; i < commonsPerBooster; i++) { - pool.getCommons().rewardCard(rewards); - } + for (int i = 0; i < commonsPerBooster && !pool.commons.isEmpty(); i++) + rewards.add(Aggregates.removeRandom(pool.commons)); BoosterUtils.sort(rewards);