50行代码带你实现一个猜数字小游戏——c语言

文章目录

标题:猜数字小游戏

作者:@Ggggggtm

寄语:你不动手敲代码,还等着我去给你敲吗?!

视频演示

一、猜数字小游戏的详细功能 

二、猜数字游戏的详解思路

三、猜数字小游戏代码实现

四、总结


标题:猜数字小游戏

作者:@Ggggggtm

寄语:你不动手敲代码,还等着我去给你敲吗?!

视频演示:

一、猜数字小游戏的详细功能 

  1.   首先会生成一个菜单,菜单内容: 选择‘1’是开始游戏,‘0’是退出游戏。
  2. 当我们玩完一局后还可以重新选择继续玩或者退出游戏,也就是可以反复玩。
  3. 玩完一局后清除当前的全部输出,重新打开菜单。
  4. 当然,生成的随机数也是要有取值范围的。我们这里生成的随机值范围为1~100。
  5. 我们猜的数字比生成的数字大的时候,会给出提示:猜大了;猜小了也会有相应提示:猜小了;当猜对的时候会提示:猜对了。

二、猜数字游戏的详解思路

  1. 我们可以用do-while()循环来控制猜数字游戏,可以实现反复玩的作用。
  2. 首先我们可以生成一个简单的菜单,自定义一个meau()函数。
  3. 再次通过swith语句来选择开始游戏或者退出游戏,当然输入不符时要有相应提示;
  4. 然后我们再实现猜数字的过程,自定义一个game()函数。
  5. 生成随机数用到rand()函数,头文件<stdlib.h>,而rand()函数生成的随机值范围为0~32767。我们要生成一个1~100的随机值——rand()%100+1。
  6. 要求每次生成的随机值不相同,我们这里要用到srand()函数,头文件<stdlib.h>。  srand()函数用来初始化rand()函数随机数生成的起点,只需要调用一次就可以,不用多次初始化。如果rand函数每次生成随机值时,srand函数都来初始化随机数起点的话,生成的随机数是连续的。
  7. 因srand()函数初始化rand()函数随机数生成的起点,要让起点不同,这里还要引用time()函数,time()函数引用了时间戳的概念,头文件<time.h>时间戳也就是计算机从最开始到现在的时间,以秒为单位,是随时变化的。
  8. 每次猜对后,在重新开始游戏前需要清楚当前的输入,用到system()函数,头文件<stdlib.h>.也就是清屏——system(“cls”)。
do
{

}while();

三、猜数字小游戏代码实现

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<windows.h>
//猜数字游戏
void meau()
{
	printf("***********************\n");
	printf("****    1->play    ****\n");
	printf("****    0->exit    ****\n");
	printf("***********************\n");
}
void game()
{
	int ret = rand()%100+1; //生成一个随机值,头文件<stdlib.h>,这里除余+1的意思是生成1~100的随机值
	int n = 0;
	while (1)
	{
		printf("请输入所猜的数字:>");
		scanf("%d", &n);
		if (ret > n)
			printf("猜小了\n");
		else if (ret < n)
			printf("猜大了\n");
		else
		{
			printf("猜对了\n");
			break;
		}
	}
}
int main()
{
	
	srand((unsigned int)time(NULL)); 
	int input = 0;
	do
	{
		meau(); //打印菜单
		printf("请选择:>");
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			game();
			Sleep(1000);
			system("cls");
			break;
		case 0:
			printf("退出游戏\n");
			break;
		default:
			printf("选择错误,请重新选择。\n");
			break;
		}
	} while (input);
	return 0;
}

  注意,我们上面代码中的input巧妙的同时控制了switch语句的先择和do-while的判断条件。这里需要深刻的理解一下。 

  time函数的使用:time(指针)函数引入的是时间戳,是一直变化的。头文件<time.h>,而time函数中的指针可以为空指针。

  综上就是我们的猜数字游戏的思路和代码的实现了。

四、总结

  1.  了解并且掌握rand()函数、srand()函数、time()函数,可以从cplusplus上查阅了解。
  2. 思路在这里很重要,要提前想好一个整体思路,再逐步实现相应的代码块。
  3. 熟练掌握switch语句。 
  • 32
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 22
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ggggggtm

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值