Class IntelligentBehaviour

java.lang.Object
net.demilich.metastone.game.behaviour.AbstractBehaviour
net.demilich.metastone.game.behaviour.IntelligentBehaviour
All Implemented Interfaces:
Serializable, Cloneable, Behaviour
Direct Known Subclasses:
FlatMonteCarloBehaviour, GameStateValueBehaviour, GreedyOptimizeTurn, MonteCarloTreeSearchBehaviour, PlayRandomBehaviour

public abstract class IntelligentBehaviour extends AbstractBehaviour
See Also:
  • Constructor Details

    • IntelligentBehaviour

      public IntelligentBehaviour()
  • Method Details

    • mulligan

      public List<Card> mulligan(GameContext context, Player player, List<Card> cards)
      Description copied from interface: Behaviour
      Use the provided context, player and first hand cards to determine which cards to discard during a mulligan phase.
      Parameters:
      context - The game context.
      player - The player who's mulliganing.
      cards - The cards in the player's first hand.
      Returns:
      The cards the player chose to discard.
    • isHuman

      public boolean isHuman()
      Description copied from interface: Behaviour
      Determines whether this behaviour's actions were determined by a human.
      Specified by:
      isHuman in interface Behaviour
      Overrides:
      isHuman in class AbstractBehaviour
      Returns:
      true if the actions are determined by a human, false otherwise.