目录
- 前言
- 游戏的实现
- test.c
- game.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语言的小伙伴们哦,赶快去实现一下吧~~
相信这个小游戏一定能够增加小伙伴们学习的乐趣
创作不易呀,如果大家觉得还不错的话,希望可以点个赞、收个藏、关个注哦~~
你们的支持是我创作最大的动力!!
由于本人能力有限,若有错误,希望指正!!
如果有更好的方法或者想法,也欢迎再评论区留言哦~