如果你用物理攻击时直接减血量会有一个问题
h = h - 1 << (wl - 1); //h代表怪物血量,wl代表第几次使用物理攻击
这样写会 RE ,但是为什么呢?
刚开始我就是这样写的,请看 RE求调
当 RE 后我百思不得其解
直到 ... 我听说加减法的优先级大于位移的优先级! (本人实属震惊)
所以原本是用1来位移的,但现在是用 (h-1) 来位移了
因此 ->
int dh = 1 << (wl - 1); h -= dh;
( 别忘了 wl++ 哦 )