猜数字游戏
程序员文章站
2022-06-07 14:59:18
...
(1)每局游戏,提示“Game start!”,并随机产生一个 1~50的数让用户猜,用户基础分为10分,猜错一次扣 1 分。
(2)如果用户猜错,则提示“Too big!”还是“Too small!”。
(3)如果猜了10次均未猜中,则提示“You Failed! The number is x”,x为目标数字。
(4)如果猜对,则提示“Congratulation!Your guessing
Level is S/A/B/C/D/E”,其中level由用户剩余分数决定。
S: 10分 A:9分 B:8分 C:7分 D:6分 E:1~5分
(5)每局结束后,询问用户“Play again?”,如果用户输入“y/Y”则再来一局,否则结束游戏。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void guess(){
int i=0;
int score=10;
int guesscount;
srand(time(NULL));
guesscount = rand()%50+1;
printf("%d\n",guesscount);
while(score!=0&&i==0){
int num;
scanf("%d",&num);
if(num<guesscount){
printf("Too small!\n");
score--;
}
else if(num>guesscount){
printf("Too big!\n");
score--;
}
else{
char ch;
switch(score){
case 10:ch='S';break;
case 9:ch='A';break;
case 8:ch='B';break;
case 7:ch='C';break;
case 6:ch='D';break;
case 5:ch='E';break;
case 4:ch='E';break;
case 3:ch='E';break;
case 2:ch='E';break;
case 1:ch='E';break;
}
printf("Congratulation!Your guessing Level is %c\n",ch);
i=1;
}
}
if(score==0){
printf("You You Failed! The number is %d\n",guesscount);
}
printf("Play again?(Y/y继续)\n");
}
int main(){
char ch1;
do{
printf("Game start!\n");
guess();
char ch2;
getchar();
scanf("%c",&ch2);
ch1=ch2;
}while(ch1=='y'||ch1=='Y');
return 0;
}
运行结果:
上一篇: JTopo初体验