Class Bulbasaur

java.lang.Object
Pokemon.Pokemon
Pokemon.Grass.Bulbasaur

public class Bulbasaur extends Pokemon
Represents the Pokémon Bulbasaur, a Grass-type Pokémon.

Bulbasaur has a single attack:

  • Leech Seed: Deals base damage plus any elemental bonus against the opponent, and heals 10 HP for Bulbasaur itself.
This class defines Bulbasaur's specific attack logic and overrides the abstract Pokemon.hitOpponent(Pokemon, int) method.
  • Field Details

    • attackInfo

      private final AttackInfo[] attackInfo
      Array of attacks available to Bulbasaur.
  • Constructor Details

    • Bulbasaur

      public Bulbasaur()
      Constructs a new Bulbasaur Pokémon with default health, element type, ASCII art, and its single attack.
  • Method Details

    • getAttackResult1

      public int getAttackResult1(ElementType elementTypeOfOpponentPokemon)
      Executes Bulbasaur's Leech Seed attack.

      Deals damage equal to the attack's base damage plus any elemental bonus against the opponent's type. Additionally, heals Bulbasaur for 10 HP.

      Parameters:
      elementTypeOfOpponentPokemon - the element type of the opponent Pokémon
      Returns:
      the total damage dealt by Leech Seed
    • hitOpponent

      public void hitOpponent(Pokemon OpponentPokemon, int attack)
      Performs an attack on an opponent Pokémon.

      Since Bulbasaur has only one attack, this method always executes Leech Seed.

      Specified by:
      hitOpponent in class Pokemon
      Parameters:
      OpponentPokemon - the Pokémon being attacked
      attack - the index of the attack to use (ignored, as Bulbasaur has only one attack)