VBA,2个关联变量不如简化为一个自变量,另一个作为因变量比如等级 level 和经验 exp

比如有等级和交经验EXP 2个变量。 应该只以1个为准

比较下面2个例子:

代码1

  • 一般情况下,读表可以查到 level 和 exp
  • 但是其实,level 可以唯一的被exp 确定
  • 当等级和经验匹配时还好,如果有些特殊操作,比如需要立马升1级,同时查表就有问题,

'直接加等级,感觉不太好
'   level_now = level_now + 1
'    n2 = Application.Match("当前等级", Worksheets("petbag").Range("2:2"), 0)
'    Worksheets("petbag").Cells(index1 + 2, n2) = level_now
'   Call get_levelup(0)
 

代码2

  • 让exp成为唯一的自变量
  • 等级level 每次由当前的exp 查找得到,而不是直接读表
  • 然后如果有需要修改经验的,修改经验后去更新等级
  • 如果有需要直接修改等级的,必须先修改经验后,再修改等级

  • 下面这个例子
  • 换个思路,等级小于最大等级前提下,加一整级的经验也可以


'换个思路,等级小于最大等级前提下,加一整级的经验也可以-----------------
'等级+1
    n01 = Application.Match("累计经验", Worksheets("PetLevelUp").Range("2:2"), 0)
    n03 = Application.Match("经验值", Worksheets("PetLevelUp").Range("2:2"), 0)
    exp_add1 = Application.index(Worksheets("PetLevelUp").Columns(n03), 1 + Application.Match(exp_now, Worksheets("PetLevelUp").Columns(n01), 1))
    Debug.Print exp_add1

    If level_now < max_level Then
       Call get_levelup(exp_add1)
    Else
       Call level_full
    End If
   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值