net.sf.colossus.ai.objectives
Class BasicObjectiveHelper

java.lang.Object
  extended by net.sf.colossus.ai.objectives.AbstractObjectiveHelper
      extended by net.sf.colossus.ai.objectives.BasicObjectiveHelper
All Implemented Interfaces:
IObjectiveHelper
Direct Known Subclasses:
SecondObjectiveHelper

public class BasicObjectiveHelper
extends AbstractObjectiveHelper

A naive (basic!) implementation of @IObjectiveHelper. This is still mostly for testing the code.

Author:
Romain Dolbeau

Nested Class Summary
 
Nested classes/interfaces inherited from class net.sf.colossus.ai.objectives.AbstractObjectiveHelper
AbstractObjectiveHelper.AllThereIsToKnowAboutYourCreature, AbstractObjectiveHelper.ObjectiveEvalConstants
 
Field Summary
private static java.util.Comparator<AbstractObjectiveHelper.AllThereIsToKnowAboutYourCreature> HEURISTIC_ORDER
           
private static java.util.logging.Logger LOGGER
           
 
Fields inherited from class net.sf.colossus.ai.objectives.AbstractObjectiveHelper
ai, attackerToKnowledge, client, defenderToKnowledge, oec, variant
 
Constructor Summary
BasicObjectiveHelper(Client client, AbstractAI ai, Variant variant)
           
 
Method Summary
 java.util.List<TacticalObjective> attackerObjective()
          Currently attackerObjective is very dumb: try and kill the Titan (if there) and the biggest creature
protected  java.util.List<TacticalObjective> commonObjective(Legion myself)
           
 java.util.List<TacticalObjective> defenderObjective()
           
private  AbstractObjectiveHelper.AllThereIsToKnowAboutYourCreature findCreatureToDestroyInAttacker()
          really stupid heuristic
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOGGER

private static final java.util.logging.Logger LOGGER

HEURISTIC_ORDER

private static final java.util.Comparator<AbstractObjectiveHelper.AllThereIsToKnowAboutYourCreature> HEURISTIC_ORDER
Constructor Detail

BasicObjectiveHelper

public BasicObjectiveHelper(Client client,
                            AbstractAI ai,
                            Variant variant)
Method Detail

findCreatureToDestroyInAttacker

private AbstractObjectiveHelper.AllThereIsToKnowAboutYourCreature findCreatureToDestroyInAttacker()
really stupid heuristic


commonObjective

protected java.util.List<TacticalObjective> commonObjective(Legion myself)

attackerObjective

public java.util.List<TacticalObjective> attackerObjective()
Currently attackerObjective is very dumb: try and kill the Titan (if there) and the biggest creature


defenderObjective

public java.util.List<TacticalObjective> defenderObjective()