C语言小游戏(猜数字)

各位CSDN的小伙伴们,大家好,今天带来一款超简单的C语言小游戏(猜数字小游戏),内附超详细解说,希望各位可以多多支持博主---点赞+关注!!!

一.游戏算法的实现

     电脑随机生成1~100之间的数字,玩家只需输入所猜数字,这时,电脑就会告诉玩家:“猜大了”o“r猜小了”。知道玩家猜中,游戏结束。

二.游戏过程的实现

    首先我们先实现一个简单的游戏界面:在界面中,我们将游戏的两个主要功能在界面中显示:1.play(开始游戏) ,2.exit(退出游戏)。

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

    接下来,我们进行游戏的实现,首先,利用rand()函数,生成一个随机数,但是,必须和srand()函数配合使用,不然每次产生的随机数相同。然后,我们将玩家所输入的数和随机数比较,给出猜大了或猜小了的提示,直到玩家猜中为止。

void game()
{
	int ret = 0;
	ret = rand() % 100 + 1;
	while (1)
{
	   printf("请输入你猜的数:\n");
	int s = 0;
	scanf("%d", &s);
	if (s > ret)
	{
		printf("你猜的大了,再猜猜\n");
	}
	else if (s < ret)
	{
		printf("你猜小了,再猜猜\n");
	}
	else
	{
		printf("恭喜你猜对了!\n");
		break;
	}
}

}

三.总结及注意事项

    1.注意srand()函数是在主函数中的,而且srand和rand只能调用一次,时间戳(time(NULL))是用来作为srand()函数的返回值,使得rand()的随机数种子发生改变,避免每次产生的随机数相同。

    2.srand()和rand的头文件都是#include<stdio.h>,时间戳的头文件是#include<time.h>

四.完整代码及运行结果

#include<stdlib.h>
#include<time.h>
void menu()
{
	printf("*************************\n");
	printf("*****1.play   0.exit*****\n");
	printf("*************************\n");
}
void game()
{
	int ret = 0;
	ret = rand() % 100 + 1;
	while (1)
{
	   printf("请输入你猜的数:\n");
	int s = 0;
	scanf("%d", &s);
	if (s > ret)
	{
		printf("你猜的大了,再猜猜\n");
	}
	else if (s < ret)
	{
		printf("你猜小了,再猜猜\n");
	}
	else
	{
		printf("恭喜你猜对了!\n");
		break;
	}
}

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

运行结果: 

 

 

    点赞加关注!!!!

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的1++

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值