前言:
学习很苦,游戏来补
这里是用C语言实现的一个简单的猜数字游戏,一是为了巩固自己的知识,二是为了给枯燥的学习过程增加点趣味,可以加强我们学习C语言的热情。
要求:
1.生成1~100的随机数;
2.对猜测结果提出反馈,直到猜对为止
文章目录
- 1.生成随机数
- 1.1 rand函数
- 1.2 srand 函数
- 1.3 time 函数
- 2.游戏实现
- 函数调用:
- 游戏进行过程:
1.生成随机数
1.1 rand函数
原型如下:
int rand (viod)
要想生成随机数,首先需要一个rand函数,它会返回一个伪随机数,范围在0-RAND_MAX之间,其实就是0~32767(大部分编译器中)
其次,rand函数需要一个头文件:
stdlib.h
rand函数生成的是伪随机数,并不是真正的随机数,是通过某种算法实现的。它是对一个叫“种子”的基准值进行运算生成的随机数,如果要生成不同的随机数,要让种子变化
1.2 srand 函数
srand函数可以初始化随机数,原型如下:
void srand (unsigned int seed);
先通过srand函数的参数seed设置rand函数生成随机数的种子,使种子变化,进而生成真正的随机数
1.3 time 函数
时间是无时无刻在发生着变化,所以一般让time作为种子
原型如下:
time_t time (time_t* timer);
它同样需要一个头文件:time.h
2.游戏实现
为了方便大家观看,博主将代码分成三部分
函数调用:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void menu()
{
printf("**************************\n");
printf("**** 1.play ****\n");
printf("***** 0.exit *****\n");
}
游戏进行过程:
void game()//游戏实现过程
{
int r = rand() % 100 + 1;//规定随机数范围:1~100
int guess = 0;
while (1)
{
printf("请猜数字>:");
scanf("%d", &guess);
if (guess < r)
{
printf("猜小了\n");
}
else if (guess > r)
{
printf("猜大了\n");
}
else
{
printf("恭喜你,猜对了\n");
break;
}
}
}
int main()
{
int input = 0;
srand((unsigned int)time(NULL));
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;
}
执行结果展示:
总结:还是那句话,学习很苦,游戏来补。博主以后会多多更新小游戏的哦,喜欢的小宝可以给博主来个三连哦。