public class ExperimentalAI extends SimpleAI
SimpleAI.PowerSkill, SimpleAI.TriggerTimeIsUpAbstractAI.AbstractAIOracle, AbstractAI.CreatureValueConstants, AbstractAI.MoveInfo| Modifier and Type | Field and Description |
|---|---|
private java.util.List<TacticalObjective> |
listObjectives |
private static java.util.logging.Logger |
LOGGER |
private static long |
MAX_EXHAUSTIVE_SEARCH_MOVES |
MIN_ITERATIONS, timeIsUp, timeLimitbec, client, cvc, hintSectionUsed, random, variant| Constructor and Description |
|---|
ExperimentalAI(Client client) |
| Modifier and Type | Method and Description |
|---|---|
java.util.List<CritterMove> |
battleMove()
Return a list of critter moves, in best move order.
|
void |
cleanupBattle()
a Battle is finished
|
protected void |
evaluateCritterMove_Defender(BattleCritter critter,
ValueRecorder value,
MasterBoardTerrain terrain,
BattleHex hex,
LegionClientSide legion,
int turn)
this compute for non-titan defending critter
|
protected void |
evaluateCritterMove_Rangestrike(BattleCritter critter,
java.util.Map<BattleHex,java.lang.Integer> strikeMap,
ValueRecorder value,
MasterBoardTerrain terrain,
BattleHex hex,
int power,
int skill,
LegionClientSide legion,
int turn,
java.util.Set<BattleHex> targetHexes)
"Does nothing" override of evaluateCritterMove_Rangestrike in @SimpleAI.
|
protected void |
evaluateCritterMove_Strike(BattleCritter critter,
java.util.Map<BattleHex,java.lang.Integer> strikeMap,
ValueRecorder value,
MasterBoardTerrain terrain,
BattleHex hex,
int power,
int skill,
LegionClientSide legion,
int turn,
java.util.Set<BattleHex> targetHexes)
"Does nothing" override of evaluateCritterMove_Strike in @SimpleAI.
|
protected void |
evaluateCritterMove_Titan(BattleCritter critter,
ValueRecorder value,
MasterBoardTerrain terrain,
BattleHex hex,
Legion legion,
int turn)
this computes the special case of the Titan critter
|
protected int |
evaluateLegionBattleMoveAsAWhole(LegionMove lm,
java.util.Map<BattleHex,java.lang.Integer> strikeMap,
ValueRecorder value) |
(package private) java.util.Collection<LegionMove> |
findLegionMoves(java.util.List<java.util.List<CritterMove>> allCritterMoves)
allCritterMoves is a List of sorted MoveLists.
|
void |
initBattle()
a Battle start
|
acquireAngel, chooseRecruit, concede, doInitialGameSplit, evaluateLegionBattleMove, findBestLegionMove, findWeakestTwoCritters, flee, getCreatureMoveLimit, getNativeValue, handleCarries, handleMulligans, masterMove, muster, pickColor, pickEngagement, pickEntrySide, pickMarker, pickStrikePenalty, RATIO_DRAW, RATIO_LOSE_HEAVY_LOSS, RATIO_WIN_HEAVY_LOSS, RATIO_WIN_MINIMAL_LOSS, reinforce, retryFailedBattleMoves, setupTimer, split, splitCallback, strike, summonAngelbuildEnemyAttackMap, couldRecruitUp, countCreatureAccrossAllLegionFromPlayer, findStrikeMap, generateDamageMap, generateLegionMoves, getAcqStepValue, getBattleStrike, getBattleUnit, getCaretaker, getHintedRecruitmentValue, getHintedRecruitmentValueNonTitan, getHintedRecruitmentValueNonTitan, getInitialSplitHint, getKillValue, getKillValue, getNumberOfWaysToTerrain, getVariantRecruitHint, hasOpponentNativeCreature, isHumanLegion, makeLegionMove, rangeToClosestOpponent, setVariantprivate static final java.util.logging.Logger LOGGER
private static final long MAX_EXHAUSTIVE_SEARCH_MOVES
private java.util.List<TacticalObjective> listObjectives
public ExperimentalAI(Client client)
java.util.Collection<LegionMove> findLegionMoves(java.util.List<java.util.List<CritterMove>> allCritterMoves)
SimpleAIfindLegionMoves in class SimpleAIpublic java.util.List<CritterMove> battleMove()
SimpleAIbattleMove in interface AIbattleMove in class SimpleAIprotected void evaluateCritterMove_Titan(BattleCritter critter, ValueRecorder value, MasterBoardTerrain terrain, BattleHex hex, Legion legion, int turn)
evaluateCritterMove_Titan in class SimpleAIprotected void evaluateCritterMove_Defender(BattleCritter critter, ValueRecorder value, MasterBoardTerrain terrain, BattleHex hex, LegionClientSide legion, int turn)
evaluateCritterMove_Defender in class SimpleAIprotected void evaluateCritterMove_Strike(BattleCritter critter, java.util.Map<BattleHex,java.lang.Integer> strikeMap, ValueRecorder value, MasterBoardTerrain terrain, BattleHex hex, int power, int skill, LegionClientSide legion, int turn, java.util.Set<BattleHex> targetHexes)
evaluateCritterMove_Strike in class SimpleAIprotected void evaluateCritterMove_Rangestrike(BattleCritter critter, java.util.Map<BattleHex,java.lang.Integer> strikeMap, ValueRecorder value, MasterBoardTerrain terrain, BattleHex hex, int power, int skill, LegionClientSide legion, int turn, java.util.Set<BattleHex> targetHexes)
evaluateCritterMove_Rangestrike in class SimpleAIprotected int evaluateLegionBattleMoveAsAWhole(LegionMove lm, java.util.Map<BattleHex,java.lang.Integer> strikeMap, ValueRecorder value)
evaluateLegionBattleMoveAsAWhole in class SimpleAIpublic void initBattle()
AIinitBattle in interface AIinitBattle in class AbstractAIpublic void cleanupBattle()
AIcleanupBattle in interface AIcleanupBattle in class AbstractAI