net.sf.colossus.ai.objectives
Interface TacticalObjective

All Known Implementing Classes:
AbstractTacticalObjective, CreatureAttackTacticalObjective, DestroyCreatureTacticalObjective, PreserveCreatureTacticalObjective

public interface TacticalObjective

Interface for a tactical (i.e. when fighting on battlelands) objective. The idea is to set 'objectives' for tha AI to attain when fighting, and then try to bias the moves of the AIs toward achieving said objectives.

Author:
Romain Dolbeau

Method Summary
 float changePriority(float newPriority)
          Change the priority of this objective.
 java.lang.String getDescription()
          Get the description of this objective.
 float getPriority()
          Get the current priority of this objective.
 boolean objectiveAttained()
          Whether the objective is already achieved
 ValueRecorder situationContributeToTheObjective()
          How much does the 'current situation' contributes to the objective.
 

Method Detail

objectiveAttained

boolean objectiveAttained()
Whether the objective is already achieved

Returns:
Whether the objective is already achieved

situationContributeToTheObjective

ValueRecorder situationContributeToTheObjective()
How much does the 'current situation' contributes to the objective. The actual value is currently added to the overall evaluation of the whole legion move.

Returns:
How much does he 'current situation' contributes to the objective

getPriority

float getPriority()
Get the current priority of this objective.

Returns:
The current priority of this objective.

getDescription

java.lang.String getDescription()
Get the description of this objective.

Returns:
The description of this objective.

changePriority

float changePriority(float newPriority)
Change the priority of this objective.

Parameters:
newPriority - The new priority.
Returns:
The old priority.