今天为大家分享一个简单的C语言小游戏--猜数字;对于刚学习完函数的小伙伴这是一个简单的练手游戏;其中唯一超纲的内容就是随机数的生成;下面为大家简单介绍这个小游戏的实现思路。希望大家看完以后亲自实践一下 写完后可以发给朋友(最后介绍)。
先上代码,后加详解:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void game()
{
printf("猜数字\n");
int j = 0;
//time_t
int guess = 0; //1.生成一个随机数;rand()生成随机数;
//时间戳 设置起点 time_t time函数
j = rand()%100+1;
while (1)
{
printf("请猜数字>:");
scanf("%d",&guess);
if (guess > j)
printf("猜大了请继续\n");
else if (guess < j)
printf("猜小了请继续\n");
else
{
printf("恭喜你猜中了数字是%d\n", j);
break;
}
}
}
void menu()
{
printf("#########################\n");
printf("########1.play 0.exit#########\n");
printf("#########################\n");
}
int main()
{
srand((unsigned int)time(NULL));
int input = 0;
do
{
menu();
printf("请选择>:");
scanf("%d", &input);
switch (input)
{
case 1:
game();//猜数字游戏
break;
case 0:
printf("退出游戏");
break;
default:
printf("选择错误");
break;
}
} while (input);
return 0;
}
接下来为大家介绍这段代码。
1.首先代码执行从主函数开始,我们可以敲出一个函数框架;然后我们就应该思考如何完成这个游戏;我们应该怎样实现他。 游戏的开始肯定有一个菜单提示玩家开始或者退出所以我们要写一个函数专门用来打印这些信息来提示玩家操作;这个函数就是main函数后面的menu();函数。
2.打印完菜单后我们要提示玩家选择;这里有三种情况;所以我们用swich语句即可轻松解决;可以参考上边的代码。 在玩家选择1后我们就要去玩游戏了 然后我们创建一个函数game();去完成我们的游戏;------->在这里说明一下这个游戏设计的是玩了一次后还能再玩一次;所以我们用循环解决。
3.接下来我们就要去完成game函数了,玩家在输入1后进入到game函数中而后我们就要生成一个随机数给玩家猜;这时我们就简单介绍一下随机数的生成;
伪随机数生成函数定义在<stdlib.h>头文件中,如图我们可以用rand()函数生成一个0到RAND_MAX之间的随机数;-------RAND_MAX最小值为3万多最大为21亿。
但是在这之前我们要播种一个随机数种子;
在这里我们看到 在srand前用rand函数;会被视为以srand(1);播种 这时出现的问题是生成的数都是相同的值;那这个游戏的可玩性就降低很多;-----------这里就引出一个问题srand(1)生成的数是常数那么srand(n)//n为无符号数;这时生成的随机数都是一个数哎; 我们要找一个可以变的数放进srand中--那么什么是变化的呢---时间;接下来我们就要用到时间函数
这是time函数
我们可以看到 time括号内的类型是指针 所以我们放一个空指针(NULL)进去就可以很好的生成随机数了。-----参考上方代码。
4. 生成随机数后他可能是一个很大的值不便于我们猜数;我们想得到一个1-100的数这里我们取余100即可 得到0-99的数然后加1即可得到1-100;
5.最后我们就可以猜数字了;首先提示玩家猜数字;因为猜不到要一直进行所以我们直接用死循环;而后就是简单的if else语句了最后猜中了break跳出循环即可;猜的时候给与适当的提示即可; 可以参考上方代码。
*****************************************************************************************
最后如果你想把这个自己写的游戏分享给你的小伙伴的话在你的电脑文件中找到你的代码文件点开
点开Debug 里面有一个可执行文件
就是这个中间有点蓝的exe文件你可以直接拖动分享给你的小伙伴,直接拖到桌面上双击即可运行。(有些电脑不行如果想发的话也可以自己找一下或者评论留言告诉我;我下期整理)
快点去试试自己写一下吧。
###-如果喜欢作者的文章望点赞收藏或者关注一下作者-###
感谢观看。