C语言和猜数字小游戏

猜数字小游戏

  • 写在前面
  • Ⅰ.游戏规则
  • Ⅱ.游戏逻辑
  • Ⅲ.游戏代码实现
    • ⅰ.打印菜单
    • ⅱ.开始游戏
    • ⅲ.产生1-100的随机数
    • ⅳ.判断还是猜大猜小
  • Ⅳ.游戏完整代码
  • 写在最后


C语言和猜数字小游戏_第1张图片

写在前面

  作为编程初学者,大家想必都和我一样,想写出一个可以稍微把玩的代码,那么今天我就带着猜数字游戏来喽,希望大家有所收获,在大家重复的敲代码生活中增添一分色彩!

作者:Shining-point
作者的博客主页:Shining-point的博客
如果觉得博主的博客写的不错或者有所收获的话,希望大家多多点赞 评论收藏,你们的支持是我的最大动力,不驰于空想,不骛于虚声,我们一起加油!!!

Ⅰ.游戏规则

猜数字游戏呢,就是让你猜一个数,然后根据提示的猜大了或者猜小了继续猜,直到猜中为止,相信大家都在现实中玩过,我也就不再过多赘述,请看具体思路和代码实现

Ⅱ.游戏逻辑

逻辑:
1.电脑自动产生一个1-100之间的随机数
2.玩家猜数字
a.猜对了,恭喜你,游戏结束
b.猜错了,将被告知猜大了还是猜小了,继续猜,直到猜对
3.游戏可以一直玩,除非退出游戏

Ⅲ.游戏代码实现

ⅰ.打印菜单

void menu()	//使用自定义menu()函数来打印菜单,不需返回值故使用void
{
	printf("************************************\n");
	printf("*************1. play ***************\n");	//选择1开始游戏
	printf("*************0. exit ***************\n");	//选择2退出游戏
	printf("************************************\n");
}

ⅱ.开始游戏

#include 

int main()
{
	int input = 0;
	do	//游戏至少要玩一次,故使用do while循环
	{
		menu();	//此处调用自定义menu函数用于打印菜单
		printf("请选择:>");
		scanf("%d", &input);
		switch (input)	//switch语句用于选择开始游戏or退出游戏
		{
		case 1:
			game();//调用自定义game函数执行游戏主逻辑
			break;
		case 0:
			printf("退出游戏\n");
			break;
		default:
			printf("选择错误,请重新选择\n");
			break;
		}
	} while (input);
	return 0;
}

ⅲ.产生1-100的随机数

猜数字游戏的关键在于如何产生随机数,试想一下电脑中什么东西一直在发生变化,没错,是时间。我们在这里引入一个新的概念——时间戳
那么我们如何在C语言中使用它呢,请看如下代码

//使用srand时需要引头文件stdlib.h		//使用time时需要引头文件time.h
srand((unsigned int)time(NULL));	//时间一直在发生变化--时间戳,设置一个随机的起点

有了它,再配合C语言中的rand函数,我们就可以得到一个随机数啦

//生成随机数 
//使用rang函数时需要引头文件stdlib.h
int ret = rand() % 100 + 1;   
//rand函数返回了一个0-32767之间的数字  //%100的余数为0-99,然后+1,范围就是1-100

ⅳ.判断还是猜大猜小

void game()	//不需返回值故使用void
{							
	int ret = rand() % 100 + 1;	//rand函数的使用  
	int quess = 0;
	while (1)	//判断条件一直为真,游戏可以一直玩下去
	{
		//猜数字
		printf("请猜数字(范围1-100):>");
		scanf("%d", &quess);
		if (quess < ret)
		{
			printf("猜小了\n");
		}
		else if (quess > ret)
		{
			printf("猜大了\n");
		}
		else
		{
			printf("恭喜你,猜对了\n");
			break;
		}
	}
}

Ⅳ.游戏完整代码

#include 
#include 
#include 

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

void game()
{							
	int ret = rand() % 100 + 1;
	int quess = 0;
	while (1)
	{
		printf("请猜数字(范围1-100):>");
		scanf("%d", &quess);
		if (quess < ret)
		{
			printf("猜小了\n");
		}
		else if (quess > ret)
		{
			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;
}

那么到这,我们的猜数字小游戏就实现啦,虽然显得简单,但却体现了我们编写代码的逻辑和顺序

写在最后

每个人的青春里都有一条弯路,谁也没法替你走完,但未来总还在。愿有人陪你颠沛流离,如果没有,愿你成为自己的太阳。

C语言和猜数字小游戏_第2张图片

你可能感兴趣的:(c语言)