Project1

标题: 多个变量中如何取最大值呢? [打印本页]

作者: 冥域圣君    时间: 2022-11-28 10:29
标题: 多个变量中如何取最大值呢?
比如,
队员1的血量是a
队员2的血量是b
队员3的血量是c
队员4的血量是d
那么如何用脚本判断谁的血量最大呢?求大佬给一段脚本非常感谢!
作者: soulsaga    时间: 2022-11-28 11:10
RUBY 代码复制
  1. [a,b,c,d].max

作者: 冥域圣君    时间: 2022-11-28 13:16
soulsaga 发表于 2022-11-28 11:10
[a,b,c,d].max[/pre]

我试了下不行哎,直接报错了。
作者: 冥域圣君    时间: 2022-11-28 13:21

    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

作者: 陈大帅帅帅哥    时间: 2022-11-28 13:59
ary=[]
$game_party.actors.each{|actor| ary<<actor.maxsp}
u=ary.max
作者: 灯笼菜刀王    时间: 2022-11-28 15:13
本帖最后由 灯笼菜刀王 于 2022-11-28 15:25 编辑

$game_party.actors.max{|a,b| a.maxsp - b.maxsp}
作者: RPGzh500223    时间: 2022-11-28 15:34
标题和主楼描述并不算一致……
其实这直接搜索就有结果,关键字“ruby 数组中某个属性最大的对象”,我的搜索结果第二个就算是完美的答案了……
Array#max{|a, b| a.attr <=> b.attr}




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