Project1

标题: 如果第1号角色习得第1,2,3,4,5,6,7,8,9,10,11,12号技能中任意3个, [打印本页]

作者: taeckle    时间: 2019-10-31 14:41
标题: 如果第1号角色习得第1,2,3,4,5,6,7,8,9,10,11,12号技能中任意3个,
本帖最后由 taeckle 于 2019-11-1 17:01 编辑

if $game_actors[1].skill_learn?(2) 这个意思咱懂,如果第一号角色学会第2号技能的话,

咱要是想用一句话(也就是仅用一行)写“如果第一号角色学会第1,2,3,4,5,6,7,8,9,10,11,12号技能中任意3个的话,”  或者 “如果第一号角色学会第第1,2,3,4,5,6,7,8,9,10,11,12号技能中任意2个的话”

该怎么写啊?
作者: KB.Driver    时间: 2019-10-31 17:24
if 1.upto(12).count{|i|  $game_actors[1].skill_learn?(i)} >= 3
作者: taeckle    时间: 2019-11-1 17:00
KB.Driver 发表于 2019-10-31 17:24
if 1.upto(12).count{|i|  $game_actors[1].skill_learn?(i)} >= 3

大神请问下那要是技能号是不规则的顺序(不是123456789)的话该怎么写呢?
比如这句:
如果第1号角色习得第2,4,5,8,9,10,101号技能中任意3个的话
作者: soulsaga    时间: 2019-11-1 18:19
taeckle 发表于 2019-11-1 17:00
大神请问下那要是技能号是不规则的顺序(不是123456789)的话该怎么写呢?
比如这句:
如果第1号角色习得 ...


RUBY 代码复制
  1. [2,4,5,8,9,10,101].count {|i| $game_actors[1].skill_learn?(i) } >= 3


你可以试下这个写法
作者: taeckle    时间: 2019-11-2 11:19
KB.Driver 发表于 2019-10-31 17:24
if 1.upto(12).count{|i|  $game_actors[1].skill_learn?(i)} >= 3


报告大神,我刚才试了一下,这么写有报错。。。
作者: taeckle    时间: 2019-11-2 11:20
soulsaga 发表于 2019-11-1 18:19
[2,4,5,8,9,10,101].count {|i| $game_actors[1].skill_learn?(i) } >= 3[/pre]

你可以试下这个写法 ...

报告大神,刚才测了一下,这么写有报错,,
作者: 灯笼菜刀王    时间: 2019-11-2 12:10
if ((1..12).to_a & $game_actors[1].skills).size >= 3
作者: taeckle    时间: 2019-11-2 12:59
灯笼菜刀王 发表于 2019-11-2 12:10
if ((1..12).to_a & $game_actors[1].skills).size >= 3

大神请问下那要是技能号是不连续的顺序(不是123456789)的话该怎么写呢?
比如这句:
“如果第1号角色习得第2,4,5,8,9,10,101号技能中任意3个的话”
作者: 神化元帅    时间: 2019-11-2 14:14
建立一个专门判定的变量,通过事件习得技能时加一项该变量+1,建立一个并行处理的公共事件用分歧条件来判定刚才专门建立的那个变量是否大于或等于3




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