分享 ruby 教学游戏 RubyWarror,有没有人玩过?

tony612 · 发布于 2013年07月28日 · 最后由 u1376069219 回复于 2013年08月10日 · 2537 次阅读
1232
共收到 12 条回复
96

今天上午在微博看到,还没玩

1232

#1楼 @ylovesy 传个头像吧

96

#2楼 @Tony612 嗯, Gravatar 这个网站有点难上

1644

玩过了,挺有意思的

487

玩过了。 有时间的话,可以玩玩。

6430

关卡太少啦

229

玩这个游戏入门ruby的 当年Highscore还有第二名 现在记录已经被刷下好多..

7638
class Player
  @health = 0
  def play_turn(warrior)
    if warrior.feel.empty?
      if (warrior.health < 20) && (warrior.health > @health)
        @health = warrior.health
        warrior.rest!
      else
        warrior.walk!
      end
    else
      warrior.attack!
    end
  end
end

第四关的,貌似有问题 求修正!

96

#9楼 @karmue 没有问题,是可以打过去的。@health = warrior.health可以放在if的外面,def的最后。还有if warrior.feel.empty?里面可以还要在加个elsif,你在想想,试一下吧,我昨晚上打过去手头没有过关的代码

96

@karmue @health = 0写在def外面是没有作用的,可以改成def initialize; @health = 0; end或者def play_turn(warrior); @health ||= 0 ... 如果写在外面,外面的@health相当于Player作为Class类的一个实例的instance variable,跟里面的@health不是同一个东西。

96

我过关的代码。写的不好的地方欢迎指教。

https://github.com/dixia/rubywarrior/blob/master/warrior.rb

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册