simulations.core.strategy.completeStrategy
Class RandomStrategy

java.lang.Object
  extended by simulations.core.strategy.Strategy
      extended by simulations.core.strategy.completeStrategy.CompleteStrategy
          extended by simulations.core.strategy.completeStrategy.RandomStrategy
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable

public class RandomStrategy
extends CompleteStrategy

This class describes a simple strategy. This strategy attack randomly a player and ask randomly support to some players

See Also:
Serialized Form

Field Summary
 
Fields inherited from class simulations.core.strategy.completeStrategy.CompleteStrategy
askingStrategyVector, attackStrategyVector, decisionStrategyVector
 
Fields inherited from class simulations.core.strategy.Strategy
abr, memory, name, randomGenerator
 
Constructor Summary
RandomStrategy()
          Creates a new instance of RandomStrategy
 
Method Summary
 java.lang.String getDescription()
          return the description of this strategy
 java.util.ArrayList getPlayersToAskSupport(Player player, Player attackedPlayer, java.util.ArrayList playerList)
          Returns the list of players to ask support.
 Player getPlayerToAttack(Player player, java.util.ArrayList playerList)
          return the player to attack
 boolean supportAttack(Player player, Player attackingPlayer, Player attackedPlayer, java.util.ArrayList playerList)
          return true if the player will support the attack.
 void updateAttacksInfos(Player player, java.util.ArrayList attacksList)
          This method is called by the judge after the decision of players to attack and to ask supports to inform the strategy
 void updateLastTurn(Turn turn, Player player, java.util.ArrayList remainingPlayers)
          This method is called by the judge to inform players of the last turn
 
Methods inherited from class simulations.core.strategy.completeStrategy.CompleteStrategy
equals, getAskingComposition, getAskingStrategyVector, getAttackComposition, getAttackStrategyVector, getDecisionComposition, getDecisionStrategyVector, setAskingStrategyVector, setAttackStrategyVector, setDecisionStrategyVector
 
Methods inherited from class simulations.core.strategy.Strategy
getAbr, getMemory, getName, getRandomGenerator, setAbr, setMemory, setName, setRandomGenerator, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RandomStrategy

public RandomStrategy()
Creates a new instance of RandomStrategy

Method Detail

getPlayerToAttack

public Player getPlayerToAttack(Player player,
                                java.util.ArrayList playerList)
return the player to attack

Specified by:
getPlayerToAttack in class CompleteStrategy
Parameters:
player - The attacking player
playerList - The list of avalaible player
Returns:
The player to attack

getPlayersToAskSupport

public java.util.ArrayList getPlayersToAskSupport(Player player,
                                                  Player attackedPlayer,
                                                  java.util.ArrayList playerList)
Returns the list of players to ask support.

Specified by:
getPlayersToAskSupport in class CompleteStrategy
Parameters:
attackedPlayer - The attacked player
player - The attacking player
playerList - The list of avalaible player
Returns:
Returns the list of players to ask support.

supportAttack

public boolean supportAttack(Player player,
                             Player attackingPlayer,
                             Player attackedPlayer,
                             java.util.ArrayList playerList)
return true if the player will support the attack.

Specified by:
supportAttack in class CompleteStrategy
Parameters:
playerList - The remaining players list
player - the owner of the strategy
attackingPlayer - The attacking player
attackedPlayer - The attacked player
Returns:
return true if the player will support the attack.

updateLastTurn

public void updateLastTurn(Turn turn,
                           Player player,
                           java.util.ArrayList remainingPlayers)
This method is called by the judge to inform players of the last turn

Specified by:
updateLastTurn in class CompleteStrategy
Parameters:
turn - The turn
player - The owner of the strategy
remainingPlayers - The list of the remaining players

getDescription

public java.lang.String getDescription()
return the description of this strategy

Specified by:
getDescription in class CompleteStrategy
Returns:
return the description of this strategy

updateAttacksInfos

public void updateAttacksInfos(Player player,
                               java.util.ArrayList attacksList)
This method is called by the judge after the decision of players to attack and to ask supports to inform the strategy

Specified by:
updateAttacksInfos in class CompleteStrategy
Parameters:
player - The owner of the strategy
attacksList - The list of attacks