查看: 2139|回复: 10

[已经过期] 多个变量中如何取最大值呢?

[复制链接]
梦石
0
星屑
1327
在线时间
206 小时
注册时间
2019-3-30
回帖
22
发表于 2022-11-28 10:29:47 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
比如,
队员1的血量是a
队员2的血量是b
队员3的血量是c
队员4的血量是d
那么如何用脚本判断谁的血量最大呢?求大佬给一段脚本非常感谢!
梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
发表于 2022-11-28 11:10:35 | 显示全部楼层
[pre lang="ruby"][a,b,c,d].max[/pre]

点评

楼主只说了取最大值..我照着..  发表于 2022-11-28 12:42
应该要再加个输出 队员的 index ?  发表于 2022-11-28 12:29
回复

使用道具 举报

梦石
0
星屑
1327
在线时间
206 小时
注册时间
2019-3-30
回帖
22
 楼主| 发表于 2022-11-28 13:16:07 | 显示全部楼层

我试了下不行哎,直接报错了。
回复

使用道具 举报

梦石
0
星屑
1327
在线时间
206 小时
注册时间
2019-3-30
回帖
22
 楼主| 发表于 2022-11-28 13:21:13 | 显示全部楼层

    if  $game_party.actors[0] == nil
      m = 0
      else
      m = $game_party.actors[0].maxsp.to_s
    end
    if  $game_party.actors[1] == nil
      n = 0
      else
      n = $game_party.actors[1].maxsp.to_s
    end
    if  $game_party.actors[2] == nil
      o = 0
      else
      o = $game_party.actors[2].maxsp.to_s
    end
    if  $game_party.actors[3] == nil
      q = 0
      else
      q = $game_party.actors[3].maxsp.to_s
    end
    if  $game_party.actors[4] == nil
      r = 0
      else
      r = $game_party.actors[4].maxsp.to_s
    end
    if  $game_party.actors[5] == nil
      r = 0
      else
      s = $game_party.actors[5].maxsp.to_s
    end
    if  $game_party.actors[6] == nil
      t = 0
      else
      t = $game_party.actors[3].maxsp.to_s
    end
    u = [m,n,o,q,r,s,t].max

点评

只要沒有用to_s就不会报错  发表于 2022-11-28 20:53
你to_s转成字符串了当然报错  发表于 2022-11-28 14:03
回复

使用道具 举报

梦石
0
星屑
4657
在线时间
1069 小时
注册时间
2013-3-28
回帖
309

开拓者

发表于 2022-11-28 13:59:16 | 显示全部楼层
ary=[]
$game_party.actors.each{|actor| ary<<actor.maxsp}
u=ary.max
回复

使用道具 举报

梦石
0
星屑
42235
在线时间
6017 小时
注册时间
2006-11-10
回帖
6966
发表于 2022-11-28 15:13:48 | 显示全部楼层
本帖最后由 灯笼菜刀王 于 2022-11-28 15:25 编辑

$game_party.actors.max{|a,b| a.maxsp - b.maxsp}
回复

使用道具 举报

梦石
0
星屑
6483
在线时间
119 小时
注册时间
2020-1-8
回帖
205
发表于 2022-11-28 15:34:15 | 显示全部楼层
标题和主楼描述并不算一致……
其实这直接搜索就有结果,关键字“ruby 数组中某个属性最大的对象”,我的搜索结果第二个就算是完美的答案了……
Array#max{|a, b| a.attr <=> b.attr}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部