【问题标题】:Reset Variable Value to Original Value? (Ruby) (CLOSED)将变量值重置为原始值? (红宝石)(已关闭)
【发布时间】:2017-09-09 23:54:44
【问题描述】:

我想创建一个计数器,如果发生某些事情,它会重置为 0。它看起来像这样:

计数器 = 0

如果发生了什么事

counter += 1

elsif 发生了其他事情

*counter is set back to 0*

结束

非常感谢!

编辑

 def attack(cookie)
      cookie.changeDefense()
      @offense = Random.new.rand(0..100)
      win_count = 0
      puts "#{cookie.name}'s health is #{cookie.health}"
      puts "The foe's health is #{@health}"
      puts win_count
       puts "Do you want to fight?"
       response = gets.chomp
       if response == "yes"
           if @offense > cookie.defense
               cookie.health -= 10
               puts "The foe has defeated you!"
               win_count += 1
           else
               puts "You win!  The foe has lost health!"
               @health -= 10
               win_count = 0
               number = Random.new.rand(0..100)
                    if number.between?(15, 50)
                        puts "The enemy has dropped a health item!"
                        cookie.health += 5
                    elsif number.between?(60, 95)
                        puts "The enemy has dropped a fighting upgrade!  You 
have a hightened chance of winning!"
                        cookie.lowDefense += 10
                    else

                end
       end

这是代码,它来自基于文本的游戏,所以那里不仅仅是计数器。

另一个编辑

我已通过在此处未显示的部分代码中使用全局变量来解决此问题,该问题无法删除但无需更多帮助。谢谢!

【问题讨论】:

  • 普通作业c = 0应该没问题。

标签: ruby-on-rails ruby variables


【解决方案1】:

只需输入 `elseif(“发生其他事情”){ 计数器 = 0 }

这应该使计数器再次等于 0

【讨论】:

  • 每次代码再次循环时,无论如何都会在顶部将其重置为零(这是在循环中),我该如何解决?
  • 好吧,如果你在循环结束时有 counter = 0,它将在乞求时设置为 0,所以只需在循环结束时删除 counter = 0。如果您可以发布代码,我很难理解它会有很大帮助!
  • 它是一大段代码的一部分,所以我将把它简化并在一分钟内发布
  • 只是发布循环?
  • else puts "你赢了!敌人失去了生命值!" @health -= 10 win_count = 0 number = Random.new.rand(0..100) 是您需要帮助的那部分还是哪一部分?
【解决方案2】:

使else puts "You win! The foe has lost health!" @health -= 10 win_count = 0 中的 win_count = 0 部分到 win_count -= 1

【讨论】:

  • 那么在else中定义win_count?
  • 让我拿走 1 而不是设置为 0 并且在 else 部分是的
  • 这会带走我原本想要的功能
  • 否则如果 win_count
猜你喜欢
  • 2011-03-17
  • 1970-01-01
  • 1970-01-01
  • 2023-03-04
  • 2017-04-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-31
  • 1970-01-01
相关资源
最近更新 更多