Class PlayRandomBehaviour

All Implemented Interfaces:
Serializable, Cloneable, Behaviour
Direct Known Subclasses:
PlayGameLogicRandomBehaviour

public class PlayRandomBehaviour extends IntelligentBehaviour
This behaviour chooses actions randomly.

It relies on its own internal Random instance as the state of its random choice generator and does not use the GameLogic.getRandom() facilities at all.

See Also:
  • Constructor Details

    • PlayRandomBehaviour

      public PlayRandomBehaviour()
  • Method Details

    • getName

      public String getName()
      Description copied from interface: Behaviour
      Gets a name for the behaviour. This should correspond to how the decisions are being made, e.g., a "Human Behaviour" or an "AI Behaviour.
      Returns:
      A String description of the behaviour.
    • 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.
      Specified by:
      mulligan in interface Behaviour
      Overrides:
      mulligan in class IntelligentBehaviour
      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.
    • getRandom

      protected Random getRandom(GameContext context)
    • requestAction

      public GameAction requestAction(GameContext context, Player player, List<GameAction> validActions)
      Description copied from interface: Behaviour
      Requests an action from the player.
      Parameters:
      context - The game context where the choice is being made.
      player - The player who is making the choice.
      validActions - The valid actions the player has to choose from.
      Returns:
      One of the validActions that correspond to the player's choice.
    • randomSubset

      public <T> Set<T> randomSubset(List<T> items, int m, Random random)