【发布时间】:2019-08-09 11:37:14
【问题描述】:
所以我试图弄清楚 while 循环,主要是 if 语句,所以我试图制作这个小游戏,其中你有一定的生命值,怪物也是如此,只要你的生命值都超过 0,循环就会运行,所以每个循环怪物都会对你造成 50 点伤害,但是使用 scanf 和 if 语句可以通过插入“2”来改变情况,可以减少受到的伤害,使用“3”可以增加生命值并使用“ 1" 你对怪物造成了伤害,但由于某种原因,负责这些事件的 IF 语句似乎不起作用
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(){
int monsterhealth =100;
int health =100;
int damage =50;
while(health>0&&monsterhealth>0){
int action [10];
printf("player has %d health \n",health);
printf("monster has %d health\n",monsterhealth);
printf("act:attack[1]\ndefend[2]\npotion[3]\n");
scanf ("%d",action);
if(action==1){(monsterhealth==monsterhealth-40);}
else if(action==2){(damage==damage-30);}
else (action==3);{(health==health+100);};
health=health-damage;
}
}
【问题讨论】:
-
damage==damage-30-->damage=damage-30即只有一个= -
health==health+100...再次...只是一个= -
monsterhealth==monsterhealth-40...再次 -
else (action==3);嗯...;好像很奇怪...我猜你想删除它 -
哦,我看错了
标签: c if-statement compiler-errors comparison-operators date-comparison