C语言随机数小游戏

目录

前言

一、游戏要求:

二、游戏实现

1.游戏界面

2.游戏主体

3.主函数

4.运行结果:

总结


前言

前面我们学到了C语言随机数的相关知识,我们今天用这个知识做一个有趣的小游戏,会有一点函数的知识,不过后面会讲;

一、游戏要求:

  1. 电脑⾃动⽣成1~100的随机数;

  2. 玩家猜数字,猜数字的过程中,根据猜测数据的⼤⼩给出⼤了或⼩了的反馈,直到猜对,游戏结束。

二、游戏实现

1.游戏界面

我们可以用printf()来实现游戏界面的打印:

cpp 复制代码
void menu()
{
	printf("***********************\n");
	printf("********1.play*********\n");
	printf("********0.exit*********\n");
	printf("***********************\n");
}

2.游戏主体

我们可以在函数里加入一个变量count来限制我们输入的次数;

cpp 复制代码
void game()
{
	int r = rand() % 100 +1;
	int guess = 0;
	int count = 5;
	while (count)
	{
		printf("\n你还有%d次机会\n", count);
		printf("请输入数字》:");
		scanf("%d", &guess);
		if (guess < r)
		{
			printf("猜小了\n");
		}
		else if (guess > r)
		{
			printf("猜大了\n");
		}
		else
		{
			printf("恭喜了,猜中了\n");
			break;
		}
		count--;
	}
	if (count == 0)
	{
		printf("你失败了,正确值是:%d\n", r);
	}
}

3.主函数

考虑到我们要先打印菜单,在等待用户选择,所以我们这里使用do while语句:

cpp 复制代码
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;
}

4.代码示例:

cpp 复制代码
void menu()
{
	printf("***********************\n");
	printf("********1.play*********\n");
	printf("********0.exit*********\n");
	printf("***********************\n");
}

void game()
{
	int r = rand() % 100 +1;
	int guess = 0;
	int count = 5;
	while (count)
	{
		printf("\n你还有%d次机会\n", count);
		printf("请输入数字》:");
		scanf("%d", &guess);
		if (guess < r)
		{
			printf("猜小了\n");
		}
		else if (guess > r)
		{
			printf("猜大了\n");
		}
		else
		{
			printf("恭喜了,猜中了\n");
			break;
		}
		count--;
	}
	if (count == 0)
	{
		printf("你失败了,正确值是:%d\n", r);
	}
}

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;
}

4.运行结果:


总结

这章我结合了上一章的随机数知识,制作出了一个小游戏,我觉得,学习中也可以找到乐趣,不只是孩子,我们每个人都应如此;夏日炎炎,只为考研。

相关推荐
OnlyEasyCode1 分钟前
C# 发送QQ邮箱验证码or其他
开发语言·c#
AC赳赳老秦16 分钟前
用 OpenClaw 制定技术学习计划:根据目标岗位自动生成学习路线、推荐学习资源
开发语言·c++·人工智能·python·mysql·php·openclaw
winlife_17 分钟前
全程用 AI 做一款商业级手游 · EP9 收尾与复盘:做到了哪,没做到哪,边界在哪
java·开发语言·人工智能·unity·ai编程·游戏开发·mcp
周杰伦fans20 分钟前
AutoCAD2016经典模式不见了-设置回14版本前的经典工作空间
服务器·c语言·前端
JAVA96524 分钟前
JAVA面试-并发篇 09-LockSupport 和 waitnotify 的区别
java·开发语言·面试
程序员小羊!33 分钟前
07Java IO 流
java·开发语言
ZC跨境爬虫33 分钟前
跟着 MDN 学JavaScript day_10:数组——数据的有序集合
android·java·开发语言·前端·javascript
IT龟苓膏40 分钟前
Java 集合进阶:ConcurrentHashMap、HashSet、LinkedHashMap、TreeMap 和 fail-fast 一篇讲清
java·开发语言·jvm
李白的天不白41 分钟前
config/WebMvcConfig.java
开发语言·python