Created
July 2, 2012 19:29
-
-
Save briancicutti/3035155 to your computer and use it in GitHub Desktop.
Ruby Warrior Beginner Level 4 Solution
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Player | |
def play_turn(warrior) | |
if warrior.feel.enemy? | |
warrior.attack! | |
else | |
if warrior.health < 20 && !taking_damage?(warrior) | |
warrior.rest! | |
else | |
warrior.walk! | |
end | |
end | |
@health = warrior.health | |
end | |
def taking_damage?(warrior) | |
warrior.health < @health | |
end | |
end |
I found some code here:
https://github.com/foogoof/ruby-warrior-solutions/blob/master/rubywarrior/level-4-beginner/player.rbinserting this line into my code got it working for me
@last_known_health = warrior.health unless @last_known_healthclass Player def play_turn(warrior) @health = warrior.health unless @health #2 options when the space is empty if warrior.feel.empty? #option 1 rest if health < 20 and we are not under attack if warrior.health < 20 && warrior.health >= @health warrior.rest! #otherwise walk else warrior.walk! end #if the space is not empty we attack else warrior.attack! end @health = warrior.health end #play_turn end #class
@health = warrior.health unless @health // useless part of code, maybe
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@jastuccio's code worked for me