From de68a3b25877c920222a30e5e5fce7f6f04fd2cb Mon Sep 17 00:00:00 2001 From: Sloth Date: Wed, 24 Aug 2011 21:11:45 +0000 Subject: [PATCH] - Added the function removeAll to CardList to remove all instances of a card from it (I was shocked that we didn't have this, or am I missing something?). - Fixed some possible bugs of assigning blockers twice in ComputerUtil_Block2. --- src/main/java/forge/CardList.java | 11 +++++++++++ src/main/java/forge/ComputerUtil_Block2.java | 4 ++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/main/java/forge/CardList.java b/src/main/java/forge/CardList.java index 071e9d4d722..0884b6813e4 100644 --- a/src/main/java/forge/CardList.java +++ b/src/main/java/forge/CardList.java @@ -574,6 +574,17 @@ public class CardList implements Iterable { public void remove(Card c) { list.remove(c); } + + /** + *

removeAll.

+ * + * @param c a {@link forge.Card} object. + */ + public void removeAll(Card c) { + ArrayList cList = new ArrayList(); + cList.add(c); + list.removeAll(cList); + } /** *

clear.

diff --git a/src/main/java/forge/ComputerUtil_Block2.java b/src/main/java/forge/ComputerUtil_Block2.java index dc95102e800..a7344f102c9 100644 --- a/src/main/java/forge/ComputerUtil_Block2.java +++ b/src/main/java/forge/ComputerUtil_Block2.java @@ -505,7 +505,7 @@ public class ComputerUtil_Block2 { && CardFactoryUtil.evaluateCreature(blocker) + getDiff() < CardFactoryUtil.evaluateCreature(attacker) && CombatUtil.canBlock(attacker, blocker, combat)) { combat.addBlocker(attacker, blocker); - getBlockersLeft().remove(blocker); + getBlockersLeft().removeAll(blocker); } } } @@ -630,7 +630,7 @@ public class ComputerUtil_Block2 { for (Card blocker : blockers) { if (CombatUtil.canBlock(attacker, blocker, combat)) { combat.addBlocker(attacker, blocker); - getBlockersLeft().remove(blocker); + getBlockersLeft().removeAll(blocker); } } }