Package net.sf.colossus.ai
Interface AI
-
- All Known Implementing Classes:
AbstractAI
,CowardSimpleAI
,ExperimentalAI
,HumanHaterRationalAI
,MilvangAI
,ParallelEvaluatorAI
,RationalAI
,SimpleAI
public interface AI
interface to allow for multiple AI implementations- Author:
- Bruce Sherrod, David Ripton
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description CreatureType
acquireAngel(Legion legion, java.util.List<CreatureType> recruits)
choose whether to acquire an angel or archangeljava.util.List<CritterMove>
battleMove()
return a list of battle moves for the active legionvoid
cleanupBattle()
a Battle is finishedboolean
concede(Legion legion, Legion enemy)
choose whether legion should concede to enemyboolean
flee(Legion legion, Legion enemy)
choose whether legion should flee from enemyCaretaker
getCaretaker()
CreatureType
getVariantRecruitHint(LegionClientSide legion, MasterHex hex, java.util.List<CreatureType> recruits)
void
handleCarries(int carryDamage, java.util.Set<java.lang.String> carryTargets)
choose carry targetvoid
initBattle()
a Battle startboolean
masterMove()
make masterboard moves for current player in the Gamevoid
muster()
make recruits for current playerPlayerColor
pickColor(java.util.List<PlayerColor> colors, java.util.List<PlayerColor> favoriteColors)
pick a color of legion markersMasterHex
pickEngagement()
pick an engagement to resolveEntrySide
pickEntrySide(MasterHex hex, Legion legion, java.util.Set<EntrySide> entrySides)
pick an entry sidejava.lang.String
pickMarker(java.util.Set<java.lang.String> markerIds, java.lang.String preferredShortColor)
pick a legion markerjava.lang.String
pickStrikePenalty(java.util.List<java.lang.String> choices)
pick an optional strike penaltyvoid
reinforce(Legion legion)
pick one reinforcement for legionvoid
retryFailedBattleMoves(java.util.List<CritterMove> bestMoveOrder)
Try another move for creatures whose moves failed.void
setVariant(Variant variant)
boolean
split()
make splits for current player.boolean
splitCallback(Legion parent, Legion child)
continue making splits.boolean
strike(Legion legion)
make battle strikes for legionSummonInfo
summonAngel(Legion summoner, java.util.List<Legion> possibleDonors)
choose whether to summon an angel or archangel
-
-
-
Method Detail
-
setVariant
void setVariant(Variant variant)
-
masterMove
boolean masterMove()
make masterboard moves for current player in the Game
-
split
boolean split()
make splits for current player. Return true if done
-
splitCallback
boolean splitCallback(Legion parent, Legion child)
continue making splits. Return true if done.
-
muster
void muster()
make recruits for current player
-
reinforce
void reinforce(Legion legion)
pick one reinforcement for legion
-
strike
boolean strike(Legion legion)
make battle strikes for legion
-
initBattle
void initBattle()
a Battle start
-
battleMove
java.util.List<CritterMove> battleMove()
return a list of battle moves for the active legion
-
cleanupBattle
void cleanupBattle()
a Battle is finished
-
retryFailedBattleMoves
void retryFailedBattleMoves(java.util.List<CritterMove> bestMoveOrder)
Try another move for creatures whose moves failed.
-
pickEntrySide
EntrySide pickEntrySide(MasterHex hex, Legion legion, java.util.Set<EntrySide> entrySides)
pick an entry side
-
pickEngagement
MasterHex pickEngagement()
pick an engagement to resolve
-
acquireAngel
CreatureType acquireAngel(Legion legion, java.util.List<CreatureType> recruits)
choose whether to acquire an angel or archangel
-
summonAngel
SummonInfo summonAngel(Legion summoner, java.util.List<Legion> possibleDonors)
choose whether to summon an angel or archangel
-
pickColor
PlayerColor pickColor(java.util.List<PlayerColor> colors, java.util.List<PlayerColor> favoriteColors)
pick a color of legion markers
-
pickMarker
java.lang.String pickMarker(java.util.Set<java.lang.String> markerIds, java.lang.String preferredShortColor)
pick a legion marker
-
handleCarries
void handleCarries(int carryDamage, java.util.Set<java.lang.String> carryTargets)
choose carry target
-
pickStrikePenalty
java.lang.String pickStrikePenalty(java.util.List<java.lang.String> choices)
pick an optional strike penalty
-
getVariantRecruitHint
CreatureType getVariantRecruitHint(LegionClientSide legion, MasterHex hex, java.util.List<CreatureType> recruits)
-
getCaretaker
Caretaker getCaretaker()
-
-