Class: PoorPokemon::Enemy

Inherits:
BasePlayer show all
Defined in:
lib/poor-pokemon/enemy.rb

Instance Attribute Summary

Attributes inherited from BasePlayer

#currentPokemon, #roster

Instance Method Summary collapse

Methods inherited from BasePlayer

#allDead?, #changeCurrent

Constructor Details

#initialize(pokeGroup) ⇒ Enemy

Returns a new instance of Enemy.



2
3
4
5
# File 'lib/poor-pokemon/enemy.rb', line 2

def initialize(pokeGroup)
    @roster = pokeGroup
    @currentPokemon = @roster[0]
end

Instance Method Details

#attacks(oppPokemon, diff, move = nil) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/poor-pokemon/enemy.rb', line 12

def attacks(oppPokemon, diff, move=nil)
    #determines how enemy AI attacks depending on difficulty
    if move
        dmg = @currentPokemon.attacks(oppPokemon, move)
    else
        if diff == "easy" || diff =='e'
            move = @currentPokemon.usableMoves.sample
            dmg = @currentPokemon.attacks(oppPokemon, move)
        elsif diff == "hard" || diff =="h"
            move = @currentPokemon.usableMoves.sort{|moveA,moveB| moveA.dmg<=>moveB.dmg}.last
            dmg = @currentPokemon.attacks(oppPokemon, move)
        end
    end
    [dmg, move]
end

#switchObject



7
8
9
10
# File 'lib/poor-pokemon/enemy.rb', line 7

def switch
    #switches current pokemon (should be dead) for another valid pokemon
    @currentPokemon = @roster.select{|pokemon|pokemon.alive?}.sample
end