前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C语言实现小游戏之猜数字

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

作者头像
摘星
发布2023-04-28 09:59:16
6290
发布2023-04-28 09:59:16
举报
文章被收录于专栏:C/C++学习

前言

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

一、预备知识

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
b4938e2d01e047a88e28e5dbaef34c01.png

游戏部分流程: 

bf6eb02051dd45d9aab0969b25db3b8e.png
bf6eb02051dd45d9aab0969b25db3b8e.png

三、源代码及运行截图

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

源代码:

代码语言:javascript
复制
#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
b2a5d1e00172436cbfc2d7d05f1cac80.png

总结

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-03-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、预备知识
    • srand函数:
      • rand函数:
        • time函数:
        • 二、程序流程(思路)
          • 主程序流程:
            • 游戏部分流程: 
            • 三、源代码及运行截图
              • 源代码:
                •  运行截图:
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档