变量未更新

时间:2014-11-14 16:42:57

标签: c++ variables updating

所以,我正在设计一款RPG游戏而且我的战斗系统无效。 我很新,但我对大部分时间都有很好的了解。每当我运行战斗系统时,'eHp'和'hp'变量都没有被更新。

hit = rand() % atk + 1 + (rand() % 3 + 1);
            diff = hit - OppD;
            if (diff > 0)
                eHp = eHp - diff;
            if (eHp <= 0)
                break;
            OppHit = rand() % OppA + 1;
            OppDif = OppHit - def;
            hp = hp - OppDif;
            if (hp <= 0)
                break;

这是在while循环中的switch语句内。健康点的显示位于switch语句之前的while循环中。 switch语句用于决定玩家决定使用哪种攻击。 如果您需要查看更多代码。只要说明你需要看多少,我就会更新它。 谢谢!

2 个答案:

答案 0 :(得分:0)

将代码块更改为此代码块,如果查看输出尚未解决,请将输出粘贴到您的问题中。

hit = rand() % atk + 1 + (rand() % 3 + 1);
diff = hit - OppD;

std::cout << "hit: " << hit << "\ndiff:" << diff << "\neHP: " << eHp << std::endl;

if (diff > 0) eHp = eHp - diff;
if (eHp <= 0) break;

OppHit = rand() % OppA + 1;
OppDif = OppHit - def;

std::cout << "OppHit: " << OppHit << "\nOppDif: " << OppDif << "\nhp: " << hp << std::endl;

hp = hp - OppDif;

if (hp <= 0) break;

答案 1 :(得分:0)

结果是switch语句条件是char数据类型,但我把这些情况作为int数据类型。

相关问题