net.sf.colossus.variant
Interface IVariantHint

All Known Implementing Classes:
AbstractHintProvider

public interface IVariantHint

Interface for the use of AI Hints.

Author:
Romain Dolbeau

Nested Class Summary
static class IVariantHint.AIStyle
          The style of play the AI should prefer.
 
Method Summary
 int getHintedRecruitmentValueOffset(CreatureType creature, java.util.List<IVariantHint.AIStyle> styles)
          Give an offset to apply to the creature Point Value before estimating its recruitment value.
 java.util.List<CreatureType> getInitialSplitHint(MasterHex startingTower, java.util.List<IVariantHint.AIStyle> aiStyles)
          Obtains the list of creatures to split on turn one.
 CreatureType getRecruitHint(MasterBoardTerrain terrain, IOracleLegion legion, java.util.List<CreatureType> recruits, IHintOracle oracle, java.util.List<IVariantHint.AIStyle> aiStyles)
          Give the suggested recruit in this terrain for this legion.
 

Method Detail

getRecruitHint

CreatureType getRecruitHint(MasterBoardTerrain terrain,
                            IOracleLegion legion,
                            java.util.List<CreatureType> recruits,
                            IHintOracle oracle,
                            java.util.List<IVariantHint.AIStyle> aiStyles)
Give the suggested recruit in this terrain for this legion.

Parameters:
terrain - Type of terrain
legion - The recruiting legion
recruits - List of all recruitable Creature (returned value must be the name of one of those)
oracle - An oracle that answers some questions about the situation of the legion
aiStyles - The styles the AI prefers to play
Returns:
The suggested recruit type, a null means recruiting should be skipped.

getInitialSplitHint

java.util.List<CreatureType> getInitialSplitHint(MasterHex startingTower,
                                                 java.util.List<IVariantHint.AIStyle> aiStyles)
Obtains the list of creatures to split on turn one.

Parameters:
startingTower - The starting Tower.
aiStyles - The style the AI prefers to play.
Returns:
The list of creatures to split.

getHintedRecruitmentValueOffset

int getHintedRecruitmentValueOffset(CreatureType creature,
                                    java.util.List<IVariantHint.AIStyle> styles)
Give an offset to apply to the creature Point Value before estimating its recruitment value.

Parameters:
creature - Type of the creature
styles - List of AI styles to hint for
Returns:
An offset to the Point Value of the creature.