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 Details

    • 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
    • flee

      boolean flee(Legion legion, Legion enemy)
      choose whether legion should flee from enemy
    • concede

      boolean concede(Legion legion, Legion enemy)
      choose whether legion should concede to enemy
    • strike

      boolean strike(Legion legion)
      make battle strikes for legion
    • initBattle

      void initBattle()
      a Battle start
    • battleMove

      List<CritterMove> battleMove()
      return a list of battle moves for the active legion
    • cleanupBattle

      void cleanupBattle()
      a Battle is finished
    • retryFailedBattleMoves

      void retryFailedBattleMoves(List<CritterMove> bestMoveOrder)
      Try another move for creatures whose moves failed.
    • pickEntrySide

      EntrySide pickEntrySide(MasterHex hex, Legion legion, Set<EntrySide> entrySides)
      pick an entry side
    • pickEngagement

      MasterHex pickEngagement()
      pick an engagement to resolve
    • acquireAngel

      CreatureType acquireAngel(Legion legion, List<CreatureType> recruits)
      choose whether to acquire an angel or archangel
    • summonAngel

      SummonInfo summonAngel(Legion summoner, List<Legion> possibleDonors)
      choose whether to summon an angel or archangel
    • pickColor

      PlayerColor pickColor(List<PlayerColor> colors, List<PlayerColor> favoriteColors)
      pick a color of legion markers
    • pickMarker

      String pickMarker(Set<String> markerIds, String preferredShortColor)
      pick a legion marker
    • handleCarries

      void handleCarries(int carryDamage, Set<String> carryTargets)
      choose carry target
    • pickStrikePenalty

      String pickStrikePenalty(List<String> choices)
      pick an optional strike penalty
    • getVariantRecruitHint

      CreatureType getVariantRecruitHint(LegionClientSide legion, MasterHex hex, List<CreatureType> recruits)
    • getCaretaker

      Caretaker getCaretaker()