比如有等级和交经验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_add1If level_now < max_level Then
Call get_levelup(exp_add1)
Else
Call level_full
End If