net.sf.colossus.ai
Class MilvangAI

java.lang.Object
  extended by net.sf.colossus.ai.AbstractAI
      extended by net.sf.colossus.ai.SimpleAI
          extended by net.sf.colossus.ai.RationalAI
              extended by net.sf.colossus.ai.MilvangAI
All Implemented Interfaces:
AI

public class MilvangAI
extends RationalAI

Author:
kmilvangjens

Nested Class Summary
 
Nested classes/interfaces inherited from class net.sf.colossus.ai.RationalAI
RationalAI.BattleResults, RationalAI.CompCreaturesByValueName, RationalAI.MusteredCreatures
 
Nested classes/interfaces inherited from class net.sf.colossus.ai.SimpleAI
SimpleAI.PowerSkill, SimpleAI.TriggerTimeIsUp
 
Nested classes/interfaces inherited from class net.sf.colossus.ai.AbstractAI
AbstractAI.AbstractAIOracle, AbstractAI.CreatureValueConstants, AbstractAI.MoveInfo
 
Field Summary
private static java.util.logging.Logger LOGGER
           
private static double PRIMARY_RECRUIT_FACTOR
           
private static double SECONDARY_RECRUIT_FACTOR
           
 
Fields inherited from class net.sf.colossus.ai.RationalAI
I_HATE_HUMANS, KILLPOINTS, RECRUIT_AT_7, RECRUIT_FALSE, RECRUIT_TRUE, TITAN_SURVIVAL
 
Fields inherited from class net.sf.colossus.ai.SimpleAI
MIN_ITERATIONS, timeIsUp, timeLimit
 
Fields inherited from class net.sf.colossus.ai.AbstractAI
bec, client, cvc, hintSectionUsed, random, variant
 
Constructor Summary
MilvangAI(Client client)
           
 
Method Summary
(package private)  RationalAI.MusteredCreatures chooseCreaturesToSplitOut(Legion legion, boolean at_risk)
          Decide how to split this legion, and return a list of Creatures to remove + status flag indicating if these creatures have mustered or not
(package private)  double findRecruitPotential(java.util.Map<CreatureType,java.lang.Integer> critters, MasterBoardTerrain terrain)
           
 
Methods inherited from class net.sf.colossus.ai.RationalAI
concede, estimateBattleResults, flee, getCombatList, masterMove, split, splitCallback, splitOneLegion
 
Methods inherited from class net.sf.colossus.ai.SimpleAI
acquireAngel, battleMove, chooseRecruit, doInitialGameSplit, evaluateCritterMove_Defender, evaluateCritterMove_Rangestrike, evaluateCritterMove_Strike, evaluateCritterMove_Titan, evaluateLegionBattleMove, evaluateLegionBattleMoveAsAWhole, findBestLegionMove, findLegionMoves, findWeakestTwoCritters, getCreatureMoveLimit, getNativeValue, handleCarries, handleMulligans, muster, pickColor, pickEngagement, pickEntrySide, pickMarker, pickStrikePenalty, RATIO_DRAW, RATIO_LOSE_HEAVY_LOSS, RATIO_WIN_HEAVY_LOSS, RATIO_WIN_MINIMAL_LOSS, reinforce, retryFailedBattleMoves, setupTimer, strike, summonAngel
 
Methods inherited from class net.sf.colossus.ai.AbstractAI
buildEnemyAttackMap, cleanupBattle, couldRecruitUp, countCreatureAccrossAllLegionFromPlayer, findStrikeMap, generateDamageMap, generateLegionMoves, getAcqStepValue, getBattleUnit, getHintedRecruitmentValue, getHintedRecruitmentValueNonTitan, getHintedRecruitmentValueNonTitan, getInitialSplitHint, getKillValue, getKillValue, getNumberOfWaysToTerrain, getVariantRecruitHint, hasOpponentNativeCreature, initBattle, isHumanLegion, makeLegionMove, rangeToClosestOpponent, setVariant
 
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

PRIMARY_RECRUIT_FACTOR

private static final double PRIMARY_RECRUIT_FACTOR
See Also:
Constant Field Values

SECONDARY_RECRUIT_FACTOR

private static final double SECONDARY_RECRUIT_FACTOR
See Also:
Constant Field Values
Constructor Detail

MilvangAI

public MilvangAI(Client client)
Method Detail

findRecruitPotential

double findRecruitPotential(java.util.Map<CreatureType,java.lang.Integer> critters,
                            MasterBoardTerrain terrain)

chooseCreaturesToSplitOut

RationalAI.MusteredCreatures chooseCreaturesToSplitOut(Legion legion,
                                                       boolean at_risk)
Description copied from class: RationalAI
Decide how to split this legion, and return a list of Creatures to remove + status flag indicating if these creatures have mustered or not

Overrides:
chooseCreaturesToSplitOut in class RationalAI