Project1

标题: 关于Game_BattleAction的问题 [打印本页]

作者: 化螺耕    时间: 2014-3-13 16:35
标题: 关于Game_BattleAction的问题
本帖最后由 化螺耕 于 2014-3-17 13:22 编辑

RT,在看到这段脚本时,发现有一处不明,特来请教各位{:2_248:}
  1.   #--------------------------------------------------------------------------
  2.   # ● 己方单体使用判定
  3.   #--------------------------------------------------------------------------
  4.   def for_one_friend?
  5.     # 种类为特级、效果范围是我方单体 (包含 HP 0) 的情况
  6.     if @kind == 1 and [3, 5].include?($data_skills[@skill_id].scope)
  7.       return true
  8.     end
  9.     # 种类为物品、效果范围是我方单体 (包含 HP 0) 的情况
  10.     if @kind == 2 and [3, 5].include?($data_items[@item_id].scope)
  11.       return true
  12.     end
  13.     return false
  14.   end
复制代码
在这段中,为什么在判定己方单体使用时,最后那里还要加一个return false呢?那这样的话不是不管种类是否为特技(物品)、效果范围是我方单体 (包含 HP 0) 的情况时,最后返回的都是false吗?我知道应该是我理解错了,但是不知道错在哪里额…………{:2_277:}
作者: 芯☆淡茹水    时间: 2014-3-13 18:01
举个例子:
首先变量 a 代入任意一个值。然后:
if a < 100   #如果 a 的值小于 100.
  return true   #返回 true .(不执行下面的了)
end
return false    #如果上面的条件不满足,就返回 false 。

作者: batfjtn    时间: 2014-3-14 05:11
简单的来说就是加个保险上去~!

在判定错误的时候没有办法返回~!!

所以自己再写上去~~!!

防止脚本运行卡死状态~!!!

这个习惯要学好~!!
作者: 化螺耕    时间: 2014-3-14 19:01
芯☆淡茹水 发表于 2014-3-13 18:01
举个例子:
首先变量 a 代入任意一个值。然后:
if a < 100   #如果 a 的值小于 100.

啊哈……那不是应该有个else吗还是我又理解错了
作者: 化螺耕    时间: 2014-3-16 19:52
呃…允许我顶一下吧o(╯□╰)o
作者: kuerlulu    时间: 2014-3-16 20:04
2L已解释清楚,在下补充一点没用的
对于一个方法(def method),可以使用return(可视为伪方法)将后面的内容作为返回值返回,一个方法只能有一个返回值(没有return就默认返回最后一句表达式的返回值),因此一旦方法运行中出现return就会立即结束此方法。




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1