From f131aafa44a72fba8acba65b79fd0e2f7e76a342 Mon Sep 17 00:00:00 2001 From: Agetian Date: Wed, 15 Jan 2014 15:59:57 +0000 Subject: [PATCH] - Optimized the generation of basic lands with random art for the quest mode card pool and quest shop. - Better name for a function to split a value into a predefined number of random groups. --- forge-core/src/main/java/forge/deck/CardPool.java | 2 +- forge-core/src/main/java/forge/util/MyRandom.java | 2 +- forge-gui/src/main/java/forge/quest/QuestUtilCards.java | 9 +++++---- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/forge-core/src/main/java/forge/deck/CardPool.java b/forge-core/src/main/java/forge/deck/CardPool.java index 3fec3e9e8d5..8396cc266da 100644 --- a/forge-core/src/main/java/forge/deck/CardPool.java +++ b/forge-core/src/main/java/forge/deck/CardPool.java @@ -69,7 +69,7 @@ public class CardPool extends ItemPool { this.add(cp, amount); } else { // random art index specified, make sure we get different groups of cards with different art - int[] artGroups = MyRandom.splitIntoGroups(amount, artCount); + int[] artGroups = MyRandom.splitIntoRandomGroups(amount, artCount); for (int i = 0; i < artGroups.length; i++) { PaperCard cp_random = isCommonCard ? StaticData.instance().getCommonCards().tryGetCard(cardName, setCode, i) : StaticData.instance().getVariantCards().tryGetCard(cardName, setCode, i); this.add(cp_random, artGroups[i]); diff --git a/forge-core/src/main/java/forge/util/MyRandom.java b/forge-core/src/main/java/forge/util/MyRandom.java index 503a89a12af..07519fcb537 100644 --- a/forge-core/src/main/java/forge/util/MyRandom.java +++ b/forge-core/src/main/java/forge/util/MyRandom.java @@ -56,7 +56,7 @@ public class MyRandom { return MyRandom.random; } - public static int[] splitIntoGroups(final int value, final int numGroups) { + public static int[] splitIntoRandomGroups(final int value, final int numGroups) { int[] groups = new int[numGroups]; for (int i = 0; i < value; i++) { diff --git a/forge-gui/src/main/java/forge/quest/QuestUtilCards.java b/forge-gui/src/main/java/forge/quest/QuestUtilCards.java index f2131c6004b..11683a63480 100644 --- a/forge-gui/src/main/java/forge/quest/QuestUtilCards.java +++ b/forge-gui/src/main/java/forge/quest/QuestUtilCards.java @@ -125,10 +125,11 @@ public final class QuestUtilCards { } for (String landName : MagicColor.Constant.BASIC_LANDS) { - for (int i=0; i can't handle art index - // randomization internally when adding cards in a batch (all cards end up with the same art) - pool.add(db.getCard(landName, landCode, -1), 1); + int artCount = db.getArtCount(landName, landCode); + int artGroups[] = MyRandom.splitIntoRandomGroups(nBasic, artCount); + + for (int i=0; i