游戏代码如下:
#include <stdlib.h>
#include <time.h>
void game()
{
int x=0;
int num=0;
srand((unsigned int)time(NULL));
x=rand()%100;
while(1)
{
printf("请输入你猜的数字:");
scanf("%d",&num);
if(x==num)
{
printf("恭喜你猜对了\n");
break;
}
else if(num>x)
{
printf("太大了\n");
}
else
{
printf("太小了\n");
}
}
}
void menu()
{
printf("**************************\n");
printf("0:结束游戏;1:开始游戏\n");
printf("**************************\n");
}
int main()
{
int input=0;
do
{
menu();
scanf("%d",&input);
switch(input)
{
case 1:game();break;
case 0:exit(0);break;
default:break;
}
}while(input);
return 0;
}
代码解析:
这个游戏大致是玩家进入之后会遇到一个菜单,根据菜单提示,输入1或0来选择开始游戏或结束游戏,因此我们建立了menu()这个函数做为菜单在屏幕上的输出,而选择do...while()语句以及switch语句,一是因为根据菜单提示玩家可以做出选择来走两个不同的方向,所以采用switch这个分支语句,二是因为玩家在玩了一次游戏后依旧可以像刚开始的时候一样根据菜单做出选择,因此这里需要循环语句的加入,而且有至少得循环一次,所以采用do...while()语句。而进入游戏之后,系统自身会产生一个系统认为对的数字,而这个数字是随机的,因此我们调用了srand()以及rand()这两个函数来产生随机数,同时因为是库函数,所以,需要事先声明。而游戏进一步进行,玩家会根据提示将所猜的数字进行调整,但只要还没猜对就会一直继续,所以这里需要循环语句,而因为这里没有其他条件所以只要用while()语句即可,而当玩家猜对时,那么就会结束这一次的游戏,所以用break来终止循环。