Project1

标题: 这段脚本能缩短的更明确吗··· [打印本页]

作者: chd114    时间: 2015-1-1 17:15
标题: 这段脚本能缩短的更明确吗···

  1.   def crie(user)
  2.     $crie=[]
  3.     for i in 0...user.equips.size
  4.       $crie.push([user.equips[i].etype_id,user.equips[i].id]) if user.equips[i]!=nil#添加一个[角色装备类型,角色装备ID]的元素
  5.     end
  6.     if $crie!=[]
  7.       for $i in 0...$crie.size
  8.         if $crie[$i][0]==0#如果是武器就···
  9.           criew(user)
  10.         else
  11.           criea(user)
  12.         end
  13.       end
  14.     end
  15.   end
复制代码
去年9月前弄的一个角色攻击暴击时就XXX的功能,从昨天晚上开始修改了什么的···现在用的是module来存储
我是module

觉得看着太头晕而且最初设定是1个装备对应1个效果现在是1个装备可以对应多个···OTZ
@VIPArcher @taroxd @喵喵喵5 @三途亚梦 怎么看···
作者: 喵呜喵5    时间: 2015-1-1 20:34
本帖最后由 喵呜喵5 于 2015-1-1 20:37 编辑

未测试
  1.   def crie(user)
  2.     $crie = []
  3.     user.equips.each do |equip|
  4.       # 添加一个[角色装备类型,角色装备ID]的元素
  5.       $crie.push [equip.etype_id, equip.id] if equip
  6.     end
  7.     $crie.each_with_index do |equip, i|
  8.       $i = i
  9.       case equip[0]
  10.       when 0 # 武器
  11.         criew(user)
  12.       else
  13.         criea(user)
  14.       end
  15.     end
  16.   end
复制代码
顺便,少用全局变量,少用for……
作者: chd114    时间: 2015-1-1 21:02
喵呜喵5 发表于 2015-1-1 03:34
未测试顺便,少用全局变量,少用for……
  1. user.equips.each do |equip|
  2.       # 添加一个[角色装备类型,角色装备ID]的元素
  3.       $crie.push [equip.etype_id, equip.id] if equip
  4.     end
复制代码
  1. $crie.each_with_index do |equip, i|
  2.       $i = i
  3.       case equip[0]
  4.       when 0 # 武器
  5.         criew(user)
  6.       else
  7.         criea(user)
  8.       end
  9.     end
复制代码
是两个不同的部分?0.0
作者: chd114    时间: 2015-1-1 22:46
喵呜喵5 发表于 2015-1-1 03:34
未测试顺便,少用全局变量,少用for……

第二个循环改的感觉有点折腾- -|||




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