C语言实现简单的猜数字小游戏
在我们学习完C语言基本数据类型以及运算、分支结构、循环结构、函数的基础知识以后,可以尝试写一点有趣的小游戏,实现非常简单,大家可以一起动手尝试起来哦~游戏实现 C语言实现的猜数字游戏十分简单,主要由以下三个模块组成:
- 菜单模块
- 游戏模块
- 主函数模块
- 需要引用的头文件
菜单模块
void menu()
{
//打印游戏菜单
printf("###################################\n");
printf("###################################\n");
printf("##########输入1:游戏开始##########\n");
printf("##########输入0:游戏结束##########\n");
printf("###################################\n");
printf("###################################\n");
}
游戏菜单实现非常简单,主要使用输出函数打印一个静态简易的菜单,相信大家写过第一个C语言程序HelloWorld的话也一定会写这个。游戏模块
菜单模块打印一个文本提示,无返回值,所以函数类型为空类型(void),也不需要任何的函数参数。
void game()
{
//定义并初始化guess 用来存放玩家猜测的数字
int guess = 0;
//调用rand函数生成随机数,然后控制生成一个1-100之间的随机数m
int m = rand()%100+1;
//开始猜数字游戏 直到猜对数字结束本轮游戏
while (1)
{
printf("请输入你猜的数字\n");
//输入玩家猜的数字
scanf("%d", &guess);
//玩家所猜数字比随机生成数小
if (guess < m)
printf("猜小了\n");
//玩家猜对数字打印猜对并结束本轮游戏
else if (guess == m)
{
printf("猜对了\n");
break;
}
////玩家所猜数字比随机生成数大
else
printf("猜大了\n");
}
}
game函数无返回值,所以函数类型为空。主函数模块
【C语言学习笔记_实现简单的猜数字小游戏】实现思路:定义guess变量存放玩家所猜数字,然后调用rand函数生成一个随机数m,使用while循环进行判断guess和m大小,玩家根据游戏提示不断输入数字,直到猜对数字结束本轮游戏
int main()
{
int input = 0;
//在调用 rand 之前,必须使用 srand 函数为伪随机数生成器进行种子化(语言规定的,这里不理解可以自己去百度深入了解rand函数)
//生成随机数时调用了time函数 根据本地时间生成一个随机数(准确的说应该是时间戳,这里不理解可以自己去深入百度了解time函数)
//srand函数的类型是unsign int,而time返回值类型为int,所以要进行强制类型转换
srand((unsigned int)time(NULL));
do
{
//调用游戏菜单函数
menu();
//用户选择开始或结束
printf("请输入一个数字选择是否开始->:\n");
scanf("%d", &input);
if (input == 1)
//调用游戏函数
game();
else if (input == 0)
printf("游戏结束\n");
else
printf("非法输入\n");
} while (input);
return 0;
}
主函数模块根据本地时间生成随机数,使用do-while循环根据用户输入进行相应的操作提示。需要引用的头文件
#include
#include
#include
rand函数需要引用第二个头文件,time函数需要引用第三个头文件。
推荐阅读
- 《c陷阱与缺陷》---第三章“语义陷阱”---读书笔记
- C/C++调用Fortran的DLL的操作过程
- C语言学习笔记_数据类型与运算
- C|C进阶?- 01数据在内存中的存储形点
- C|结构体(初识)
- C|【C语言的灵魂】-指针(2)
- C|C语言的灵魂-指针(1)
- C|数组与字符串
- C|初识C语言(2)-常量,字符串+转义字符,ASCII码,选择语句,循环语句,函数,数组,操作符