Project1

标题: 请教只用1行判断队伍里是否有3人的str属性大于500的方法 [打印本页]

作者: taeckle    时间: 2022-5-12 02:45
标题: 请教只用1行判断队伍里是否有3人的str属性大于500的方法
本帖最后由 taeckle 于 2022-5-12 02:49 编辑

判断队伍里是否有3人或3人以上的str属性大于500的方法如果不限行数可以这么写:

$game_variables[1]=0

for j in 0...$game_party.actors.size
if $game_party.actors[j].str>500
$game_variables[1]+=1
end
end

if $game_variables[1]>=3
p "队伍里至少有3人的str值是大于500的!"
else
p "队伍里str值大于500的人数不足3人!"
end

请问下要是只用1行的if可以怎么写这个判断呢?

还请大家多多指教,多谢了!
作者: alexncf125    时间: 2022-5-12 08:33
你的问题很无谓唉
($game_party.actors.inject(0) {|r, actor| r += 1 if actor.str > 500} >= 3) ? p "队伍里至少有3人的str值是大于500的!" : p "队伍里str值大于500的人数不足3人!"
作者: guoxiaomi    时间: 2022-5-12 18:07
你键盘的回车键收费吗?
作者: 芯☆淡茹水    时间: 2022-5-12 18:24
if $game_party.actors.find_all {|a| a.str > 500 }.size >= 3

end
这样?




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