所以,我正在设计一款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语句用于决定玩家决定使用哪种攻击。 如果您需要查看更多代码。只要说明你需要看多少,我就会更新它。 谢谢!
答案 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数据类型。