*Variants: Removed avatars with RemAiDeck:True from AI's avatar list.

*Variants: Made AI aware of the avatar.
This commit is contained in:
Hellfish
2012-11-22 19:21:34 +00:00
parent 1e890e1823
commit 5068de9c73
3 changed files with 27 additions and 13 deletions

View File

@@ -139,6 +139,7 @@ public class ComputerAIGeneral implements Computer {
all.addAll(player.getCardsIn(ZoneType.Battlefield)); all.addAll(player.getCardsIn(ZoneType.Battlefield));
all.addAll(player.getCardsIn(ZoneType.Exile)); all.addAll(player.getCardsIn(ZoneType.Exile));
all.addAll(player.getCardsIn(ZoneType.Graveyard)); all.addAll(player.getCardsIn(ZoneType.Graveyard));
all.addAll(player.getCardsIn(ZoneType.Command));
if (!player.getCardsIn(ZoneType.Library).isEmpty()) { if (!player.getCardsIn(ZoneType.Library).isEmpty()) {
all.add(player.getCardsIn(ZoneType.Library).get(0)); all.add(player.getCardsIn(ZoneType.Library).get(0));
} }

View File

@@ -120,18 +120,16 @@ public enum CSubmenuVanguard implements ICDoc {
LobbyPlayer humanPlayer = lobby.findLocalPlayer(PlayerType.HUMAN); LobbyPlayer humanPlayer = lobby.findLocalPlayer(PlayerType.HUMAN);
LobbyPlayer aiPlayer = lobby.findLocalPlayer(PlayerType.COMPUTER); LobbyPlayer aiPlayer = lobby.findLocalPlayer(PlayerType.COMPUTER);
PlayerStartConditions aiCond = new PlayerStartConditions(aiDeck);
PlayerStartConditions humanCond = new PlayerStartConditions(humanDeck);
MatchStartHelper helper = new MatchStartHelper(); MatchStartHelper helper = new MatchStartHelper();
final CardPrinted aiVanguard,humanVanguard; final CardPrinted aiVanguard,humanVanguard;
Iterable<CardPrinted> all = VSubmenuVanguard.SINGLETON_INSTANCE.getAllAvatars(); Iterable<CardPrinted> all = VSubmenuVanguard.SINGLETON_INSTANCE.getAllAvatars();
Iterable<CardPrinted> aiAll = VSubmenuVanguard.SINGLETON_INSTANCE.getAllAiAvatars();
if(selAiAv instanceof String) if(selAiAv instanceof String)
{ {
//Random is the only string in the list so grab a random avatar. //Random is the only string in the list so grab a random avatar.
Random r = new Random(); Random r = new Random();
aiVanguard = Iterables.get(all,r.nextInt(Iterables.size(all))); aiVanguard = Iterables.get(aiAll,r.nextInt(Iterables.size(all)));
} }
else else
{ {

View File

@@ -1,6 +1,8 @@
package forge.gui.home.variant; package forge.gui.home.variant;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List;
import java.util.Vector; import java.util.Vector;
import javax.swing.JButton; import javax.swing.JButton;
@@ -69,6 +71,7 @@ public enum VSubmenuVanguard implements IVSubmenu<CSubmenuVanguard> {
private final Predicate<CardPrinted> avatarTypePred = CardPrinted.Predicates.type("Vanguard"); private final Predicate<CardPrinted> avatarTypePred = CardPrinted.Predicates.type("Vanguard");
private final Iterable<CardPrinted> allAvatars = Iterables.filter(CardDb.instance().getAllCards(), avatarTypePred); private final Iterable<CardPrinted> allAvatars = Iterables.filter(CardDb.instance().getAllCards(), avatarTypePred);
private final List<CardPrinted> allAiAvatars = new ArrayList<CardPrinted>();
private final FLabel lblAvatarHuman = new FLabel.Builder() private final FLabel lblAvatarHuman = new FLabel.Builder()
.text("Human avatar:") .text("Human avatar:")
@@ -83,17 +86,22 @@ public enum VSubmenuVanguard implements IVSubmenu<CSubmenuVanguard> {
lblTitle.setBackground(FSkin.getColor(FSkin.Colors.CLR_THEME2)); lblTitle.setBackground(FSkin.getColor(FSkin.Colors.CLR_THEME2));
Predicate<CardPrinted> typePred = CardPrinted.Predicates.type("Vanguard"); Vector<Object> humanListData = new Vector<Object>();
Vector<Object> aiListData = new Vector<Object>();
Vector<Object> listData = new Vector<Object>(); humanListData.add("Random");
listData.add("Random"); aiListData.add("Random");
for(CardPrinted cp : Iterables.filter(CardDb.instance().getAllCards(), typePred)) for(CardPrinted cp : allAvatars)
{ {
listData.add(cp); humanListData.add(cp);
if(!cp.getCard().getRemAIDecks())
{
aiListData.add(cp);
allAiAvatars.add(cp);
}
} }
avHuman.setListData(listData); avHuman.setListData(humanListData);
avAi.setListData(listData); avAi.setListData(aiListData);
avHuman.setSelectedIndex(0); avHuman.setSelectedIndex(0);
avAi.setSelectedIndex(0); avAi.setSelectedIndex(0);
@@ -247,4 +255,11 @@ public enum VSubmenuVanguard implements IVSubmenu<CSubmenuVanguard> {
public Iterable<CardPrinted> getAllAvatars() { public Iterable<CardPrinted> getAllAvatars() {
return allAvatars; return allAvatars;
} }
/**
* @return the allAiAvatars
*/
public List<CardPrinted> getAllAiAvatars() {
return allAiAvatars;
}
} }