引言
在上一篇博客中学习了分支和循环语句后,我们可以用它们实现一个简单的猜数字游戏。
游戏内容
- 显示游戏菜单,根据菜单选择是否进行游戏。
- 游戏随机产生1~100之间的一个随机数。
- 玩家共有10次机会,如果10次都没有猜中游戏则会结束,显示玩家失败。
- 如果猜测错误则会显示猜大了或则猜小了。
- 如果猜测正确则会显示猜对了,然后打印正确的数字,结束游戏。
代码实现
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void menu()//菜单函数
{
printf("**************************\n");
printf("******* 1.play *******\n");
printf("******* 0.exit *******\n");
printf("**************************\n");
}
void game()//游戏函数
{
int num = rand() % 100 + 1;//产生1-100之间的随机数
int count = 10;//玩家猜测的次数
int input = 0;
while (count--)
{
printf("请选择数字:");
scanf("%d", &input);
if (input < num)
{
printf("猜小了\n");
}
else if (input > num)
{
printf("猜大了\n");
}
else
{
printf("猜对了,数字是:%d\n", num);
return;
}
}
printf("游戏结束,玩家失败\n");
}
int main()
{
int input = 0;
srand(time(NULL));//给srand传递一个变化的值,使用time函数产生变化的值
do
{
menu();//打印菜单
printf("请选择:");
scanf("%d", &input);
switch (input)
{
case 1:
game();
break;
case 0:
printf("退出游戏\n");
break;
default: //排除输入错误的影响
printf("输入错误,请重新输入。\n");
break;
}
} while (input);
return 0;
}