/*
* RandomAskingStrategy.java
*
* Created on April 17, 2004, 4:29 AM
*/
package simulations.core.strategy.askingSupportStrategy;
import java.util.ArrayList;
import simulations.core.Player;
/**
* This class describes an asking support strategy that ask randomly
* to a random number of player support
* @author tom
*/
public class RandomAskingStrategy extends AskingStrategy {
/** Creates a new instance of RandomAskingStrategy */
public RandomAskingStrategy() {
super();
name="RandomAskingStrategy";
memoryParam=false;
abr="13";
}
/** 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 java.util.ArrayList getPlayersToAskSupport(simulations.core.Player player, simulations.core.Player attackedPlayer, java.util.ArrayList playerList) {
playerList.remove(player);
int size = playerList.size();
if (size<=0) {
return new ArrayList();
}
ArrayList listPlayerToAsk = new ArrayList();
if (size==1) {
float nb = randomGenerator.nextFloat();
if (nb>0.5) {
listPlayerToAsk.add(playerList.get(0));
}
} else {
int nbPlayerToAsk=randomGenerator.nextInt(size);
for(int i=0;i