Class SpoiledPrincess

All Implemented Interfaces:
CharacterCard

public class SpoiledPrincess extends ContainerCharacterCard
Represents the "spoiled princess" character card and the corresponding effect.
See Also:
  • Constructor Details

    • SpoiledPrincess

      public SpoiledPrincess(Bag bag, Supplier<Player> currentPlayerSupplier)
      Constructs a new SpoiledPrincess character card.
      Parameters:
      bag - Reference to the bag object for the current game.
      currentPlayerSupplier - Supplier to get the current player.
  • Method Details

    • applyEffect

      public void applyEffect(List<Color> sourceColors, List<Color> destinationColors, Color targetColor, IslandGroup targetIsland) throws InvalidArgumentException, NoMovementException
      Description copied from interface: CharacterCard
      Activates this card and applies the effect. If it is the first time also increases the cost for next activations. Only some arguments might be used for a specific character card effect.
      Parameters:
      sourceColors - a list of student colors selected from the source
      destinationColors - a list of student colors selected from the destination
      targetColor - the color selected for the effect
      targetIsland - the island selected for the effect
      Throws:
      InvalidArgumentException - if one or more parameters are illegal
      NoMovementException - if an error occurs while wielding student related movements and swaps