C#中整数相减操作失效求助:无法用变量扣除敌方血量
C#整数相减操作的正确实现方式
你写的 enemyHP - playerDamage 只是执行了减法运算,但没有将计算结果重新赋值给 enemyHP 变量,所以敌人的生命值不会发生变化。以下是两种符合需求的正确写法:
- 完整赋值写法:
int enemyHP = 10; int playerDamage = 10; // 计算并更新敌人生命值 enemyHP = enemyHP - playerDamage;
- 简化复合赋值写法(你提到的
-=并非只能用固定数值,完全支持动态变量):
int enemyHP = 10; int playerDamage = 10; // 直接用复合赋值运算符更新生命值,playerDamage可变也能正常工作 enemyHP -= playerDamage;
这两种写法效果完全一致,后者只是前者的语法糖,无论 playerDamage 是固定值还是随游戏逻辑动态变化的变量,都能正确实现敌人生命值扣除伤害的需求。
内容的提问来源于stack exchange,提问作者Ethan Edwards
相关产品推荐
相关产品推荐

