我对我的战斗系统hp代码有疑问

时间:2019-08-08 16:52:31

标签: c++ if-statement

我一直在编写基于文本的RPG宠物小精灵战斗,并试图计算野生宠物小精灵的伤害数。但是我有点卡住。我具有正在运行的程序的链接,因此您可以了解我的意思。

https://repl.it/live/Ig6yy9UVHyxScw

ive尝试使用野生小精灵的总生命值小于90,但仍然显示出最初的攻击伤害。 (伤害= 20)。我已经在这里粘贴了代码。

if (pokemonSelect == 1 == move == 1) {//for charmander
    wPhPtotal = wPhP;
    wPhPtotal = wPhP - wPdamage;
}

cout<<"wild pokemon hp lost:" << red<<" "<<wPdamage<<" "<<def<< "hp:"<<green<<wPhPtotal<<endl;

注意:因为我还没有编程其他动作,所以只能使用吸引子和余烬。

有没有办法算一算?

1 个答案:

答案 0 :(得分:1)

没有足够的信息来真正回答您的问题,但是有些东西可能会为您指明正确的方向。

首先,您无法像其他语言那样链接==

if (pokemonSelect == 1 == move == 1)

应该是

if (pokemonSelect == 1 && move == 1)

作为旁注,您可以 以这种特殊情况下的书写方式进行书写。但是,这主要是因为运气好,对于任何值都无效 除1以外。这是因为x == y如果为true,则返回1;如果为false,则返回0。因此,对于该条件中除1之外的任何其他值,它都会中断。


第二,

wPhPtotal = wPhP;
wPhPtotal = wPhP - wPdamage;

是多余的,因为第二行将覆盖第一行。