“if qlvl>ilvl then ilvl=qlvl
else
if magiclvl>0 then alvl=ilvl+magiclvl
else
if ilvl<99-[qlvl/2] then alvl=ilvl-[qlvl/2]
else alvl=2*ilvl-99
if alvl>99 then alvl=99
”
我是程序员 这段伪代码写的有问题
据我理解应该改为
if qlvl>ilvl then ilvl=qlvl
if magiclvl>0 then alvl=ilvl+magiclvl
else if ilvl<99-[qlvl/2] then alvl=ilvl-[qlvl/2]
else alvl=2*ilvl-99
if alvl>99 then alvl=99
或者我用Java代码写一下就是这样的
int computeAlvl() {
if (qlvl > ilvl) {
ilvl = qlvl;
}
if (magiclvl > 0) {
alvl = ilvl + magiclvl;
} else if (ilvl < 99 - Math.floor(qlvl / 2)) {
alvl = (int) (ilvl - Math.floor(qlvl / 2));
} else {
alvl = 2 * ilvl - 99;
}
if (alvl > 99) {
alvl = 99;
}
return alvl;
}