From 178b4cb158e08acc77302062482c3796b7798ea2 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Mon, 15 Jul 2013 13:27:12 +0200 Subject: [PATCH] Fixed random set for basic land definition. (Fixed issue #274) --- .../java/mage/client/deck/generator/DeckGenerator.java | 6 +++--- .../src/main/java/mage/client/dialog/AddLandDialog.java | 6 +++--- .../src/main/java/mage/player/ai/ComputerPlayer.java | 6 +++--- Mage/src/mage/cards/repository/ExpansionRepository.java | 8 ++++---- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/Mage.Client/src/main/java/mage/client/deck/generator/DeckGenerator.java b/Mage.Client/src/main/java/mage/client/deck/generator/DeckGenerator.java index 8d1377895bd..537f4c56cb8 100644 --- a/Mage.Client/src/main/java/mage/client/deck/generator/DeckGenerator.java +++ b/Mage.Client/src/main/java/mage/client/deck/generator/DeckGenerator.java @@ -382,9 +382,9 @@ public class DeckGenerator { // if sets have no basic lands and also it has no parent or parent has no lands get last set with lands // select a set with basic lands by random Random generator = new Random(); - ExpansionInfo [] randomLandSets = ExpansionRepository.instance.getSetsWithBasicLandsByReleaseDate(); - if (randomLandSets.length > 0) { - landSets.add(randomLandSets[generator.nextInt(randomLandSets.length)-1].getCode()); + List basicLandSets = ExpansionRepository.instance.getSetsWithBasicLandsByReleaseDate(); + if (basicLandSets.size() > 0) { + landSets.add(basicLandSets.get(generator.nextInt(basicLandSets.size())).getCode()); } } diff --git a/Mage.Client/src/main/java/mage/client/dialog/AddLandDialog.java b/Mage.Client/src/main/java/mage/client/dialog/AddLandDialog.java index ca72d5af340..6817a5088aa 100644 --- a/Mage.Client/src/main/java/mage/client/dialog/AddLandDialog.java +++ b/Mage.Client/src/main/java/mage/client/dialog/AddLandDialog.java @@ -88,9 +88,9 @@ public class AddLandDialog extends MageDialog { // if sets have no basic lands and also it has no parent or parent has no lands get last set with lands // select a set with basic lands by random Random generator = new Random(); - ExpansionInfo [] landSets = ExpansionRepository.instance.getSetsWithBasicLandsByReleaseDate(); - if (landSets.length > 0) { - this.setCodesland.add(landSets[generator.nextInt(landSets.length)-1].getCode()); + List basicLandSets = ExpansionRepository.instance.getSetsWithBasicLandsByReleaseDate(); + if (basicLandSets.size() > 0) { + this.setCodesland.add(basicLandSets.get(generator.nextInt(basicLandSets.size())).getCode()); } } diff --git a/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/ComputerPlayer.java b/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/ComputerPlayer.java index 2da8554f591..bee4a20e771 100644 --- a/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/ComputerPlayer.java +++ b/Mage.Server.Plugins/Mage.Player.AI/src/main/java/mage/player/ai/ComputerPlayer.java @@ -1332,9 +1332,9 @@ public class ComputerPlayer> extends PlayerImpl i // if sets have no basic lands and also it has no parent or parent has no lands get last set with lands // select a set with basic lands by random Random generator = new Random(); - ExpansionInfo [] basicLandSets = ExpansionRepository.instance.getSetsWithBasicLandsByReleaseDate(); - if (basicLandSets.length > 0) { - landSets.add(basicLandSets[generator.nextInt(basicLandSets.length)-1].getCode()); + List basicLandSets = ExpansionRepository.instance.getSetsWithBasicLandsByReleaseDate(); + if (basicLandSets.size() > 0) { + landSets.add(basicLandSets.get(generator.nextInt(basicLandSets.size())).getCode()); } } diff --git a/Mage/src/mage/cards/repository/ExpansionRepository.java b/Mage/src/mage/cards/repository/ExpansionRepository.java index b2d30d6d162..0d70a7a4ddc 100644 --- a/Mage/src/mage/cards/repository/ExpansionRepository.java +++ b/Mage/src/mage/cards/repository/ExpansionRepository.java @@ -10,6 +10,7 @@ import com.j256.ormlite.table.TableUtils; import java.io.File; import java.sql.SQLException; import java.util.ArrayList; +import java.util.LinkedList; import java.util.List; /** @@ -77,14 +78,13 @@ public enum ExpansionRepository { return sets; } - public ExpansionInfo[] getSetsWithBasicLandsByReleaseDate() { - ExpansionInfo[] sets = new ExpansionInfo[0]; + public List getSetsWithBasicLandsByReleaseDate() { + List sets = new LinkedList(); try { QueryBuilder qb = expansionDao.queryBuilder(); qb.orderBy("releaseDate", false); qb.where().eq("basicLands", new SelectArg(true)); - List expansions = expansionDao.query(qb.prepare()); - sets = expansions.toArray(new ExpansionInfo[0]); + sets = expansionDao.query(qb.prepare()); } catch (SQLException ex) { } return sets;