【C语言--趣味游戏系列】--猜数字游戏

前言:

学习很苦,游戏来补
这里是用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;
}

执行结果展示:
在这里插入图片描述

总结:还是那句话,学习很苦,游戏来补。博主以后会多多更新小游戏的哦,喜欢的小宝可以给博主来个三连哦。

评论 84
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值