前言
一、游戏菜单
//游戏菜单
void menu()
{
printf("******欢迎进入猜数字游戏******\n");
printf("*********1、开始*************\n");
printf("*********0、退出*************\n");
printf("****************************\n");
}
二、游戏逻辑
1.用户选择
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);
2.开始游戏
2.1 生成1~100的随机数
rand()函数会生成0~rand_MAX之间的数,我们可以看看rand_MAX是什么:
解释清楚后,我们该如何编写代码呢?
//游戏逻辑
void game()
{
printf("游戏开始\n");
//1、生成随机数
//rand()函数(包含stdlib.h头文件) --> 生成随机数 --> 使用此函数需要先定义一个随机数生成器
// srand(unsigned int 变化的数)
int number = rand() % 100 + 1; //rand() % 某数 --> 0~某数-1 -->再进行+1 --> 1~某数
int Num = 0;
//2、猜数字
while (1)
{
printf("请输入:>");
scanf("%d", &Num);
if (Num > number)
{
printf("猜大了!\n");
}
else if (Num < number)
{
printf("猜小了!\n");
}
else
{
printf("恭喜你,猜对了!\n");
break;
}
}
}
rand() % 100 +1
总结
好了,这就是用c语言简易版的猜数字小游戏,下面是完整代码:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
//游戏菜单
void menu()
{
printf("******欢迎进入猜数字游戏******\n");
printf("*********1、开始*************\n");
printf("*********0、退出*************\n");
printf("****************************\n");
}
//游戏逻辑
void game()
{
printf("游戏开始\n");
//1、生成随机数
//rand()函数(包含stdlib.h头文件) --> 生成随机数 --> 使用此函数需要先定义一个随机数生成器
// srand(unsigned int 变化的数)
int number = rand() % 100 + 1; //rand() % 某数 --> 0~某数-1 -->再进行+1 --> 1~某数
int Num = 0;
//2、猜数字
while (1)
{
printf("请输入:>");
scanf("%d", &Num);
if (Num > number)
{
printf("猜大了!\n");
}
else if (Num < number)
{
printf("猜小了!\n");
}
else
{
printf("恭喜你,猜对了!\n");
break;
}
}
}
//猜数字游戏
//范围1~100
int main()
{
int input = 0;
// srand往往只需调用一次,在一个程序调用多次会让随机数不够随机
//包含stdlib.h头文件
srand((unsigned int)time(NULL)); //time()-->包含time.h头文件函数会返回时间戳,是变化的
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;
}