/* * CoalitionalDef5AskingStrategy.java * * Created on May 26, 2004, 12:21 AM */ package simulations.core.strategy.askingSupportStrategy; import java.util.ArrayList; import java.util.Iterator; import simulations.core.Player; import simulations.core.history.PlayerTurn; /** * This class describes an asking strategy that ask players that are * in my coalition (definition 5) from last turn * @author tom */ public class CoalitionalDef5AskingStrategy extends AskingStrategy { /** The coalition **/ private ArrayList coalition; /** Creates a new instance of CoalitionalDef5AskingStrategy */ public CoalitionalDef5AskingStrategy() { super(); name="CoalitionalDef5AskingStrategy"; negative=false; coalition=new ArrayList(); memoryParam=false; abr="12"; } /** return the description of this asking strategy * @return return the description of this asking strategy **/ public String getDescription() { return "Asking strategy : I ask players\n"+ "that are in my coalition (definition 2)\n"; } /** Returns the list of players to ask support. * @return Returns the list of players to ask support. * @param attackedPlayer The attacked player * @param player The attacking player * @param playerList The list of avalaible player */ public ArrayList getPlayersToAskSupport(Player player, Player attackedPlayer, ArrayList playerList) { if (simulations.SimulationParameters.debug) { System.out.println("CoalDef5AskingStrat : coalList = "+coalition.toString()); } ArrayList l = new ArrayList(); Iterator it = coalition.iterator(); while (it.hasNext()) { ArrayList l2 = (ArrayList)it.next(); Iterator it2 = l2.iterator(); while (it2.hasNext()) { Player p = (Player)it2.next(); if (!(l.contains(p))) { if (!(p.equals(player))) { l.add(p); } } } } if (negative) { ArrayList l2 = new ArrayList(); for(int i=0;i