Project1

标题: 请教计算第2号角色习得含有第8号属性技能总和的最简单方法 [打印本页]

作者: taeckle    时间: 2021-11-21 23:32
标题: 请教计算第2号角色习得含有第8号属性技能总和的最简单方法
本帖最后由 taeckle 于 2021-11-21 23:36 编辑

我自己写了一个最笨的方法,在大地图事件上就可以用,先写给大家看看:
  1. a = $data_skills
  2. b= $game_actors[2].skills
  3. c=0
  4. for i in 0...$game_actors[2].skills.size
  5. if a[b[i]].element_set.include?(8)
  6. c+=1
  7. end
  8. end
  9. p c
复制代码


把 c p出来就知道第2号角色习得含有第8号属性技能总和了,


请问下还有相对简单的方法吗?(比如我这个方法用了9行代码,可以只用1行代码就搞定这个问题嘛?)还请大家多多指教,多谢了
作者: 灯笼菜刀王    时间: 2021-11-21 23:47
p $game_actors[2].skills.find_all{|i| $data_skills[i].element_set.include?(8)}.size
作者: 任小雪    时间: 2021-11-22 00:23
我mv经常写脚本不换行的(因为行数不够)
作者: enghao_lim    时间: 2021-11-22 13:58
我只想说个理解误区,简单和复杂不是代码行数的决定的,你想要把循环式脚本写得简洁就可以用2楼得那些数组自带方法,随便搜下都有很多,什么each, map, find_all等等在某些情况下的确可以让代码变成一行。如果只是为了塞进去事件编辑器里头的脚本的话,那为何不将之函数话?2楼提供的运行逻辑和楼主你写的没有太大区别,主要式更懂得利用一些函数,理论上它并没有更简单。




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