猜数字游戏

来源:互联网 发布:数据量化方法 编辑:程序博客网 时间:2024/06/07 23:34

        今天给大家分享一个有意思的小游戏——猜数字游戏。游戏内容大致为系统产生一个随机的数字,由玩家来猜测,如果玩家猜的数字比随机产生的数字大,系统则提示猜大了,反之提示猜小了,如果猜对了则成功,游戏结束。

        接下来给大家分享一下程序的具体内容及思路。首先我们需要给玩家一个直观的菜单供玩家选择是否进行游戏或者退出游戏,这一步可以用几个简单的语句便可完成从图中我们可以看到,选项1为进行游戏,0为退出游戏。我们可以用一个switch语句来完成,如果玩家选择项目1则运行游戏,我们可以定义一个函数game()来完成游戏内容,如果选择0项则提示退出游戏,选择其他则提示错误。为了让玩家有更好的游戏体验,可以让玩家多次玩游戏,就需要将以上代码作为一个循环体进行循环,那么我们该选择什么循环语句呢?玩家需要至少做出一次选择是否游戏,最好的选择就是用do while语句,输入的数字作为判断是否继续循环,这样玩家就可以持续的进行游戏或者选择退出游戏。

        然后我们来编写game()函数,首先我们需要让系统随机生成一个随机数,就用到了rand()函数,关于此函数的详细介绍及用法在我上一篇博客中已经写的十分清楚了,有兴趣的朋友可以去看一下,这里就不多做介绍了。首先系统提示玩家需要输入一个数字,然后将此数字与随机数进行比较并作出相应提示,如此循环,直到玩家猜中,结束game()函数。

           该游戏的所有代码如下:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void menu()
{
printf("************************************\n");
printf("****    1.play       0.exit     ****\n");
printf("************************************\n");
}
void game()
{
int num = rand();
int input2 = 0;
while (1)

printf("请输入猜的数字>:");
scanf("%d", &input2);
if (input2 > num)

printf("猜大了\n");
}
else if (input2 < num)
{
printf("猜小了\n");
}
else 

printf("恭喜你,猜对了\n");
break;
}
}
}
int main()
{
int input = 0;
srand((unsigned)time(NULL));
do
{
menu();
printf("请选择:\n");
scanf("%d", &input);
switch (input)
{
case 1:
game();
break;
case 0:
printf("退出游戏\n");
break;
default:
printf("输入有误!请重新输入\n");
break;
}


} while (input);

system("pause");
return 0;
}

运行结果为:


一个很便捷的方法就是二分寻找法,很快便可以猜中。

        以上就是给大家分享的所有内容,欢迎大家来提出更好的建议完善这个程序。

原创粉丝点击