Package net.sf.colossus.ai
Interface AI
-
- All Known Implementing Classes:
AbstractAI,CowardSimpleAI,ExperimentalAI,HumanHaterRationalAI,MilvangAI,ParallelEvaluatorAI,RationalAI,SimpleAI
public interface AIinterface to allow for multiple AI implementations- Author:
- Bruce Sherrod, David Ripton
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description CreatureTypeacquireAngel(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 legionvoidcleanupBattle()a Battle is finishedbooleanconcede(Legion legion, Legion enemy)choose whether legion should concede to enemybooleanflee(Legion legion, Legion enemy)choose whether legion should flee from enemyCaretakergetCaretaker()CreatureTypegetVariantRecruitHint(LegionClientSide legion, MasterHex hex, java.util.List<CreatureType> recruits)voidhandleCarries(int carryDamage, java.util.Set<java.lang.String> carryTargets)choose carry targetvoidinitBattle()a Battle startbooleanmasterMove()make masterboard moves for current player in the Gamevoidmuster()make recruits for current playerPlayerColorpickColor(java.util.List<PlayerColor> colors, java.util.List<PlayerColor> favoriteColors)pick a color of legion markersMasterHexpickEngagement()pick an engagement to resolveEntrySidepickEntrySide(MasterHex hex, Legion legion, java.util.Set<EntrySide> entrySides)pick an entry sidejava.lang.StringpickMarker(java.util.Set<java.lang.String> markerIds, java.lang.String preferredShortColor)pick a legion markerjava.lang.StringpickStrikePenalty(java.util.List<java.lang.String> choices)pick an optional strike penaltyvoidreinforce(Legion legion)pick one reinforcement for legionvoidretryFailedBattleMoves(java.util.List<CritterMove> bestMoveOrder)Try another move for creatures whose moves failed.voidsetVariant(Variant variant)booleansplit()make splits for current player.booleansplitCallback(Legion parent, Legion child)continue making splits.booleanstrike(Legion legion)make battle strikes for legionSummonInfosummonAngel(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()
-
-