一文让你学会猜数字游戏(C语言)

一、猜数字游戏实现的步骤

1.程序要产生1~100之间的数字;

2.猜数字

输入的数字1-->猜小了,继续猜这个数字

输入的数字3-->猜大了,继续猜这个数字

输入的数字2-->猜对了,跳出循环

3.可以反复玩游戏

二、代码实现的逻辑

        1.第一步已经实现了可以重复游戏的循环过程;

#include
void menu()
{
	printf("********************************************\n");
	printf("********           1. paly          ********\n");
	printf("********           0. exit          ********\n");
	printf("********************************************\n");
}

int main()
{
	int input = 0;
	do
	{
		menu();
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			break;
		case 0:
			printf("退出游戏\n");
			break;
		default:
			printf("选择错误,请重新输入\n");
			break;
		}
	} while (input);
	return 0;
}

运行结果:

一文让你学会猜数字游戏(C语言)_第1张图片

         2.如何产生一个1—100之间的随机数

#include
#include
#include

void menu()
{
	printf("********************************************\n");
	printf("********           1. paly          ********\n");
	printf("********           0. exit          ********\n");
	printf("********************************************\n");
}
void game()
{
	//rand函数是专门用来生成随机数的
	//rand函数使用时需要调用这个头文件
	//rand函数产生的随机数是0---RAND_MAX(32767)这个范围之间的数字
	//产生1—100之间的数字rand()%100+1
	int ret = rand()%100+1;
	//printf("%d\n", ret);
	int number = 0;
	while (1)
	{
		printf("请输入一个数\n");
		scanf("%d", &number);
		if (number > ret)
		{
			printf("猜大了\n");
		}
		else if (number < ret)
		{
			printf("猜小了\n");
		}
		else
		{
			printf("恭喜你,猜对了\n");
			break;
		}
	}

}
int main()
{
	//rand函数在使用之前需要使用一个srand函数来设置随机数的生成器,
	//srand函数在使用时只需要调用一次就可以了
	//如果不使用srand函数则每次重新执行程序时,rand函数生成的随机数都是和程序上一次执行生成的随机数一样
	//srand函数里面需要一个随时变化的值,可以用时间戳
	//time用来获取当前系统时间,返回一个时间戳
	//NULlL-->空指针

	srand((unsigned int)time(NULL));
	int input = 0;
	do
	{
		menu();
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			game();
			break;
		case 0:
			printf("退出游戏\n");
			break;
		default:
			printf("选择错误,请重新输入\n");
			break;
		}
	} while (input);
	return 0;
}

运行结果:

一文让你学会猜数字游戏(C语言)_第2张图片

 三、总结

        在生成一个随机数时,我们在使用rand函数之前,需要使用srand函数来设置随机数的生成器,并且srand函数只能调用一次,因为mian函数在运行时只会被调用一次,所以srand函数写在mian函数的里面;产生1--100之间的数字,需要rand()%100,rand()%100得到的数值是1--99,所以需要加上1,rand()%100+1,如果想要得到1001—2000的数字,则rand()%1000+1001就好啦!

你可能感兴趣的:(C语言,游戏,c语言,学习方法,开发语言)