public class ExperimentalAI extends SimpleAI
SimpleAI.PowerSkill, SimpleAI.TriggerTimeIsUp
AbstractAI.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, timeLimit
bec, 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, summonAngel
buildEnemyAttackMap, couldRecruitUp, countCreatureAccrossAllLegionFromPlayer, findStrikeMap, generateDamageMap, generateLegionMoves, getAcqStepValue, getBattleStrike, getBattleUnit, getCaretaker, getHintedRecruitmentValue, getHintedRecruitmentValueNonTitan, getHintedRecruitmentValueNonTitan, getInitialSplitHint, getKillValue, getKillValue, getNumberOfWaysToTerrain, getVariantRecruitHint, hasOpponentNativeCreature, isHumanLegion, makeLegionMove, rangeToClosestOpponent, setVariant
private 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)
SimpleAI
findLegionMoves
in class SimpleAI
public java.util.List<CritterMove> battleMove()
SimpleAI
battleMove
in interface AI
battleMove
in class SimpleAI
protected void evaluateCritterMove_Titan(BattleCritter critter, ValueRecorder value, MasterBoardTerrain terrain, BattleHex hex, Legion legion, int turn)
evaluateCritterMove_Titan
in class SimpleAI
protected void evaluateCritterMove_Defender(BattleCritter critter, ValueRecorder value, MasterBoardTerrain terrain, BattleHex hex, LegionClientSide legion, int turn)
evaluateCritterMove_Defender
in class 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)
evaluateCritterMove_Strike
in class SimpleAI
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)
evaluateCritterMove_Rangestrike
in class SimpleAI
protected int evaluateLegionBattleMoveAsAWhole(LegionMove lm, java.util.Map<BattleHex,java.lang.Integer> strikeMap, ValueRecorder value)
evaluateLegionBattleMoveAsAWhole
in class SimpleAI
public void initBattle()
AI
initBattle
in interface AI
initBattle
in class AbstractAI
public void cleanupBattle()
AI
cleanupBattle
in interface AI
cleanupBattle
in class AbstractAI