C 语言实现简略的猜数字小游戏
在咱们学习完 C 语言根本数据类型以及运算、分支构造、循环构造、函数的基础知识当前,能够尝试写一点乏味的小游戏,实现非常简单,大家能够一起入手尝试起来哦~
游戏实现
C 语言实现的猜数字游戏非常简略,次要由以下三个模块组成:
- 菜单模块
- 游戏模块
- 主函数模块
- 须要援用的头文件
本程序调用 rand 函数,心愿大家看到不要慌乱,应用办法简略,将在主函数模块提及,大家模拟应用即可,除此之外该程序无任何难点,大家肯定要本人尝试写一下哦~
菜单模块
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 函数无返回值,所以函数类型为空。
实现思路:定义 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<stdio.h>
#include<stdlib.h>
#include<time.h>
rand 函数须要援用第二个头文件,time 函数须要援用第三个头文件。