C | 猜数字小游戏的实现

Posted Ersansui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C | 猜数字小游戏的实现相关的知识,希望对你有一定的参考价值。

前言

在我们刚刚开始学习C语言的过程中,难免会觉得枯燥无聊,坚持不下去,那么我们不妨用所学的知识,来实现一个简单而又有趣的猜数字小游戏。

这样,我们既可以巩固所学的知识,也可以增加学习的兴趣!


游戏的实现

我们的思路大致如下

1.程序开始时打印菜单,让玩家选择开始游戏还是退出游戏

2.玩家选择游戏后进入游戏

3.判断输赢后,重新回到菜单

这是一个经典的main函数主体框架,还没有掌握的小伙伴赶快学起来呀

老规矩,我们创建三个不同的文件,以便于代码的管理和维护。

test.c 用于游戏整体框架的实现
game.c 用于游戏相关函数的实现
game.h 用于游戏相关函数的声明

(我之前还有两个有趣的小游戏哦,点击下方链接就可以跳转哦~~)
三子棋小游戏的实现

扫雷小游戏的实现


test.c

该源文件为main函数的主题,使程序的入口

需要包含game.h这个头文件,以便于game函数的调用

#include"game.h"


//为了使main函数中,switch语句的case选项更加直观明了,我们可以定义一个枚举变量
//让选项和对应的意思一一对应
enum Choose
{
	EXIT,
	PLAY
};

int main()
{
	int input = 0;

	//设置rand函数的生成起点,方便后续生成随机数
	srand((unsigned int)time(NULL));

	printf("这是一个猜数字小游戏\\n");
	printf("数字的范围是1到100\\n");
	printf("\\n");
	
	//使用do-while语句,目的是在程序一开始就可以调用菜单函数,打印出菜单,方便玩家选择
	do
	{
		menu();
		scanf("%d", &input);
		switch (input)
		{
		case EXIT:
			printf("退出游戏\\n");
			break;
		case PLAY:
			game();
			break;
		default:
			printf("输入有误,请重新选择\\n");
			break;

		}

	} while (input);//input为0的时候,退出循环,结束程序;非0的时候重新打印菜单


	return 0;
}

game.c

该源文件为实现游戏函数

其中的关键点是调用rand函数来随机生成一个1-100的数字

利用while循环来实现玩家的多次输入,直到玩家猜正确才break退出

#include"game.h"


//菜单函数,方便玩家对照选择
void menu()
{

	printf("******************************\\n");
	printf("********    1.play    ********\\n");
	printf("********    0.exit    ********\\n");
	printf("******************************\\n");
	printf("\\n");


}

//游戏函数
void game()
{
	int n = 0;

	//把n赋值成一个随机值,且范围为1-100
	n = rand()%100 + 1;


	//while循环可以一直执行,知道玩家猜正确才退出
	while (1)
	{
		int i = 0;
		printf("请输入你猜的数字:>\\n");
		scanf("%d", &i);

		//if分支语句目的是判断玩家所猜的数字是大了还是小了,并做出一定的提示
		if (i > n)
			printf("猜大了\\n");
		else if (i < n)
			printf("猜小了\\n");
		else
		{
			printf("恭喜你,猜对啦\\n");
			printf("\\n");
			break;
		}


	}
}

game.h

该头文件主要是包含了所需要的库文件和链接两个源文件

#include<stdio.h>

void menu();

void game();

结语

这个小游戏的分享到这里就结束啦~

这个小游戏非常适合刚刚接触C语言的小伙伴们哦,赶快去实现一下吧~~

相信这个小游戏一定能够增加小伙伴们学习的乐趣


创作不易呀,如果大家觉得还不错的话,希望可以点个赞、收个藏、关个注哦~~

你们的支持是我创作最大的动力!!

由于本人能力有限,若有错误,希望指正!!

如果有更好的方法或者想法,也欢迎再评论区留言哦~

以上是关于C | 猜数字小游戏的实现的主要内容,如果未能解决你的问题,请参考以下文章

喵呜:C语言实现猜数字游戏

C语言 猜数字游戏代码

用C语言编猜数字小游戏

利用C语言写出简单的猜数字小游戏

C语言编写猜数字小游戏

C语言升级版猜数字小游戏(含简单中等困难模式并且支持战绩查询以及界面美化)