C语言编-------------简单猜数字游戏实现

目录


前言

该怎样实猜数字游戏,接下来跟着我一步一步来看


一、菜单

我们居然是猜数字游戏肯定菜单是少不了的,具体怎样实现,来,看过来,不用过多的东西,我们用一个函数来实现

代码如下

void mevc()
{
	printf("********************\n");
	printf("****** 1.play ******\n");
	printf("****** 0.quit ******\n");
	printf("********************\n");
}

这里是直接打印菜单在屏幕上所以不用返回值

玩家想玩游戏就选择1,不想玩就选择0

二、选择

玩家可以根据自已来选择,所以需要用scanf让玩家输入,然后根据输出的值进入下一步

代码如下:

int main()
{
	mevc();
	do 
	{
		printf("请选择游戏->");
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			play();
			break;
		case 0:
			printf("退出游戏\n");
			break;
		default:
			printf("选择错误,继续!!\n");
			break;
		}
	} while (input);

	return 0;
}

这里有多种选择,所以用switch()语句来实现,知道玩游戏登进,都会有一次选择,想玩或者不玩直接退出,所以do-while语句来实现

三.猜数字

接下来是主要实现猜数字游戏,这里我们定义一个函数来实现猜数字的代码play()函数,选择1我们就进入猜游戏中,既然是猜数字,那就要随机产生一个数字供玩家猜测,这里涉及了一个函数rand(),该函数可以随机产生一个数字,它返回是一个整型0-32767的数字

代码如下(示例):

void play()
{
	int a = 0;
	int ret = rand() % 100 + 1;  //因为这里要实现1-100的随机数,所以%100-1就是1-100的数
	while (1)
	{
		printf("请猜数字->");
		scanf("%d",&a);
		if (a<ret)
		{
			printf("猜小了,继续\n");
		}
		else if (a>ret)
		{
			printf("猜大了,继续\n");
		}
		else
		{
			printf("恭喜你,猜对了\n");  
			break;    //猜对我们就跳出,重新选择,break跳出整个循环
		}
	}
}

这里我们有人经常范的错误就是把int ret = rand() % 100 + 1放在while循环里,这样的话每次猜数字都在变,就很难猜的对数字,要放外面

注意

这里用随机数要用到这个

srand((unsigned int)time(NULL));

经过测试会发现,无论怎么产生随机数,再来玩一次总是重复这几个数字,所以需要在rand前引用srand函数,但是srand函数又需要一个随机值才能让rand生成随机值这时可以用时间戳来实现;至于时间戳,不懂得可以百度一下,它产生的数字是随着时间在变化

四.全部代码如下

//实现猜1-100的数字游戏
#include<stdio.h>
#include<stdlib.h>
#include <time.h>
//菜单
void mevc()
{
	printf("********************\n");
	printf("****** 1.play ******\n");
	printf("****** 0.quit ******\n");
	printf("********************\n");
}
//猜数字
void play()
{
	int a = 0;
	int ret = rand() % 100 + 1; //产生一个1-100的数字
        //判断
	while (1)
	{
		printf("请猜数字->");
		scanf("%d",&a);
		if (a<ret)
		{
			printf("猜小了,继续\n");
		}
		else if (a>ret)
		{
			printf("猜大了,继续\n");
		}
		else
		{
			printf("恭喜你,猜对了\n");
			break;
		}
	}
}
int main()
{
	mevc();
	int input = 0;
	srand((unsigned int)time(NULL));  //时间戳
	do 
	{
		printf("请选择游戏->");
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			play();
			break;
		case 0:
			printf("退出游戏\n");
			break;
		default:
			printf("选择错误,继续!!\n");
			break;
		}
	} while (input);

	return 0;
}

好了,就先到这,有兴趣自己去玩下哈哈,如有什么建议下面评论哦,以上内容那里不懂也可以在下面评论,如有那里有错多多包涵和指出,再见了大家!!!

Guess you like

Origin blog.csdn.net/weixin_55250388/article/details/122525189