C语言实现小游戏之猜数字

目录

前言

一、预备知识

二、程序流程(思路)

三、源代码及运行截图

总结


前言

猜数字是一个很有意思的小游戏,我在学习了循环和选择语句之后,自己尝试着写了这个小游戏。现在将它分享出来,如果各位小伙伴们有其他的思路和建议也欢迎在评论区交流。

5144f6afe1964e0f8c6e3843ef9c6995.gif

一、预备知识

srand函数:

作用:设置随机数的起点;

头文件:stdlib.h;

备注:整个工程只需要使用一次。

rand函数:

作用:返回一个随机数(整数),范围是0~32767;

头文件:stdlib.h

备注:

①不需要参数;

②一般和srand搭配使用产生伪随机数序列

time函数:

时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数

作用:time()返回当前时间的时间戳

头文件:time.h;

备注:

①它的返回值类型是size_t,使用时可以强制类型转换为unsigned int。

②参数一般放置NULL。

二、程序流程(思路)

主程序流程:

b4938e2d01e047a88e28e5dbaef34c01.png

游戏部分流程: 

 bf6eb02051dd45d9aab0969b25db3b8e.png

三、源代码及运行截图

为了方便大家的学习和交流,我将这个小游戏的源代码放置在下方,同时还有我的运行截图。

源代码:

#define _CRT_SECURE_NO_WARNINGS
//猜数字小游戏
#include<stdio.h>
#include<stdlib.h>//srand()的头文件
#include<time.h>//时间戳time()的头文件
#define Num 100 
#define Min 1
//宏定义Num和Min可以修改猜数字的范围(当前猜数字范围为1~100)

void menu()//主菜单
{
	printf("*****************************\n");
	printf("*********   菜单   **********\n");
	printf("*********  1.play  **********\n");
	printf("*********  0.exit  **********\n");
	printf("*****************************\n");

}

void game()//游戏部分
{
	int m = 0;
	int n = rand() % Num + Min;//rand生成一个随机数(0~32767),通过%Num限制猜数字的范围,Min是最小值。
	while (1)
	{
		printf("请猜数字(猜数字的范围是%d~%d):>", Min, Num);
		scanf("%d", &m);
		if (m > n)
		{
			printf("猜大了!\n");
		}
		else if (m < n)
		{
			printf("猜小了!\n");
		}
		else
		{
			printf("猜对了!\n");
			break;
		}
	}
}

int main()
{
	srand((unsigned int)time(NULL));//srand设置随机数的起点;time时间戳。
	int input = 0;
	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;
}

 运行截图:

b2a5d1e00172436cbfc2d7d05f1cac80.png


 总结

 以上就是今天要讲的内容,本文简单的介绍了用C语言实现猜数字小游戏的思路,还进一步展示了代码的运行结果验证了作者的思路,在练习选择语句和循环语句的同时还学习了部分关于时间戳方面的知识。

本文的作者也只是一个正在学习C语言等编程知识的萌新,若这篇文章中有哪些不正确的内容,请在评论区向作者指出(也可以私信作者),欢迎大佬们指点,也欢迎其他正在学习C语言的萌新和作者进行交流。

最后,如果本篇文章对你有所启发的话,也希望可以支持支持作者,后续作者也会定期更新学习记录。谢谢大家!

856029b526e64d7e8ccb62bbd1d5282c.gif

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

codeJinger

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

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

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

打赏作者

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

抵扣说明:

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

余额充值