C++ 如果有人教我如何解决这个问题,我将不胜感激
我正在做一个小游戏,你有一支手枪,按0来射击,每次你射击,生命值降低12,直到死亡,然后是新的目标,但我不知道如何循环 我在88处创建了止损点(出于某种原因,止损点在89处,但我迟早会找到答案) 然后,当我再次按0键时,倒计时会更多。我尝试了C++ 如果有人教我如何解决这个问题,我将不胜感激,c++,loops,C++,Loops,我正在做一个小游戏,你有一支手枪,按0来射击,每次你射击,生命值降低12,直到死亡,然后是新的目标,但我不知道如何循环 我在88处创建了止损点(出于某种原因,止损点在89处,但我迟早会找到答案) 然后,当我再次按0键时,倒计时会更多。我尝试了if语句以及迄今为止我真正学到的一切, 但我想不出来 void gun_shots(int pistol) { std::cout << "100 health "; int i = 100; w
if
语句以及迄今为止我真正学到的一切,
但我想不出来
void gun_shots(int pistol)
{
std::cout << "100 health ";
int i = 100;
while ( i > 87)
{
std::cout << i << " ";
i--;
if (i == 87)
{
std::cout << "AGH i lost health ";
}
}
}
int main()
{
std::cout << "0: play game " << std::endl << "1: end game ";
int shoot;
std::cin >> shoot;
switch (shoot)
{
case 0:
gun_shots(shoot);
break;
}
}
void gun_shots(内射手枪)
{
标准:cout 87)
{
std::cout你想在每次按0键时射击手枪,你想每次射击都降低生命值。因此,在gun\u shots()
中去掉循环,它确实不属于那里。将循环移到main()
中,例如:
#包括
国际卫生组织;
空射枪
{
健康-=12;
}
布尔死了
{
return health只有当i>88
时,你的循环才会继续。因为88不大于88,它不会继续循环并输出88,而是退出循环。不清楚你到底想做什么。函数gun\u shots
到底应该做什么?哦,是的,我知道我忘了什么,把它改为87。但是gun\u shots是我的枪的功能,是射击,这都是虚构的,因为没有视觉效果。但我想让它在我可以按单数键的地方,在我的情况下是0,它会消耗生命值,就像“100 health”中的一样,直到它达到0 health,而不是硬编码87
到你的while循环条件中,为什么不传递你想要的值gun\u shots()
将递减为作为第二个参数,例如,void gun_shots(int pistol,int decrementTo){[…]而(i>decrementTo){…}
然后是您的main()
函数可以使用适当的递减值调用它,以获得您想要的行为。是的,请原谅,如果它很乱,我应该改变它,但我一直在按照教程进行,我试图分支并制作自己的东西,但我忘记了一些东西。有什么问题:案例0:health-=12;break;
谢谢您的帮助帮助,我不是所有的经验,我只有14岁,但这有很大帮助。