Guys,
I dunno as I haven't played with the code yet, but you're calling
rest! on a Turn, not on the Warrior. Make sure your warrior variable
(or method call result?) is what you think it is.
Make sure you still have something like:
class Player def play_turn(warrior)
I just used something simple above because the example stuff gave me the
same problem - that is, using:
class Player
def play_turn(warrior)
if warrior.feel.enemy?
warrior.attack!
else
warrior.walk!
end
end
end
results in:
Welcome to Ruby Warrior
[1] p - beginner - level 1 - score 0
[2] New Profile
Choose profile by typing the number: 1
Starting Level 1
- turn 1 -
--------
|@ >|
--------
/rubywarrior/p-beginner/player.rb:3:in `play_turn': undefined method
`feel' for #<RubyWarrior::Turn:0x7f4c176e0680 @action=nil, @senses={}>
(NoMethodError)
from
/usr/lib/ruby/gems/1.8/gems/ruby-warrior/bin/../lib/ruby_warrior/units/warrior.rb:12:in
`play_turn'
from
/usr/lib/ruby/gems/1.8/gems/ruby-warrior/bin/../lib/ruby_warrior/units/base.rb:72:in
`prepare_turn'
from
/usr/lib/ruby/gems/1.8/gems/ruby-warrior/bin/../lib/ruby_warrior/level.rb:50:in
`play'
from
/usr/lib/ruby/gems/1.8/gems/ruby-warrior/bin/../lib/ruby_warrior/level.rb:50:in
`each'
from
/usr/lib/ruby/gems/1.8/gems/ruby-warrior/bin/../lib/ruby_warrior/level.rb:50:in
`play'
from
/usr/lib/ruby/gems/1.8/gems/ruby-warrior/bin/../lib/ruby_warrior/level.rb:46:in
`times'
from
/usr/lib/ruby/gems/1.8/gems/ruby-warrior/bin/../lib/ruby_warrior/level.rb:46:in
`play'
from
/usr/lib/ruby/gems/1.8/gems/ruby-warrior/bin/../lib/ruby_warrior/game.rb:72:in
`play_current_level'
from
/usr/lib/ruby/gems/1.8/gems/ruby-warrior/bin/../lib/ruby_warrior/game.rb:63:in
`play_normal_mode'
from
/usr/lib/ruby/gems/1.8/gems/ruby-warrior/bin/../lib/ruby_warrior/game.rb:23:in
`start'
from
/usr/lib/ruby/gems/1.8/gems/ruby-warrior/bin/../lib/ruby_warrior/runner.rb:17:in
`run'
from /usr/lib/ruby/gems/1.8/gems/ruby-warrior/bin/rubywarrior:5
Not something I was expecting from something that is supposed to help
teach Ruby . .
Thanks,
Phil.
--
Philip Rhoades
GPO Box 3411
Sydney NSW 2001
Australia
E-mail: (e-mail address removed)