[C语言] 猜数字小游戏的实现

[C语言] 猜数字小游戏的实现,第1张

[C语言] 猜数字小游戏的实现 猜数字小游戏

要求为:做一个猜测一个1-100范围内的随机数字的小游戏

1.菜单制作

构建一个菜单的函数,到时候主函数直接使用就可以了

void menu()//菜单
{
	printf("************************n");
	printf("****** 1.开始游戏 ******n");
	printf("****** 0.退出游戏 ******n");
	printf("************************n");
}

2.然后写主函数,主函数大体框架

运用一个do while循环函数,因为游戏结束了我希望还能够再来一把,所以用do while 函数,最后游戏结束了再判断是否再次进行游戏

一开始的菜单也给与一个开始游戏的选项,使用一个switch分支来处理第一次输入的值,这个时候除了输入1和0以外,输入别的数字,也会再次返回到开头让我们再次选择是否进行游戏

在输入1的时候引入了一个game函数,这个函数我还没有定义,只是提前先放进去

int main()
{
	int begin = 0;
	do
	{
		menu();//打印菜单
		printf("请选择是否开始游戏:>");
		scanf("%d", &begin);
		switch (begin)
		{
		case 1:
			printf("请输入1-100数字:>");
			game();
			break;
		case 0:
			printf("退出游戏n");
			break;
		default:
			printf("输入错误请重新输入n");
			break;
		}
	} while (begin);
	return 0;
}

3.定义game函数

game函数就是游戏的主体,这个游戏我分为两个部分:1.生成一个1-100的随机数 2.把我们输入的数字跟那个随机数进行比较

(我这里为了限制数字在1-100的范围,采用了%100 + 1的式子,不局限与这个范围,可以想设置多大就设置多大)

void game()//猜数字游戏
{
	//1.生成随机数
	srand((unsigned int)time(NULL));
	int r = rand()%100 + 1;//%100 = 0-99 + 1 =1-100
	//printf("%dn", r);  测试随机数用的
}

先创建一个随机数,我用的方法就是拿时间戳和c语言自带的一个随机数来创建的,这里测试发现数字随机,但是不完全随机,生成的数字之间差距比较小,我就把

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

这个初始化的表达式放在了主函数第一行,就好了

生成1-100的随机数解决了就解决第二个问题:接受一个键盘输入的数字跟这个随机数进行比较并给予回馈

void game()//猜数字游戏
{
	//1.生成随机数
	int r = rand()%100 + 1;//%100 = 0-99 + 1 =1-100
	//printf("%dn", r);  测试随机数用的
	//2.输入数字去比较
	while (1)
	{
		int num = 0;
		scanf("%d", &num);
		if (num < r)
		{
			printf("小了,再猜:>");
		}
		else if (num > r)
		{
			printf("大了,再猜:>");
		}
		else
		{
			printf("恭喜你,猜对了n");
			break;
		}
	}
}

因为这个游戏只要不猜对就不会结束,所以让while一直循环,直到猜对了跳出循环

挺简单的一个小游戏,就是实现随机数有点麻烦

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5593119.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存