栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

小游戏之猜数字

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

小游戏之猜数字

猜数字

文章目录
    • 猜数字
      • 猜数字的基本玩法
      • 制作思想
      • 制作步骤
        • 1.菜单
        • 2.随机数的生成
        • 3.游戏的逻辑判断
        • 4.游戏的总体设计
      • 整体代码
      • 总结

猜数字的基本玩法

猜数字顾名思义就是要去猜这个数字。

提前准备好一个数字,然后猜数字的人报出心中所想的数字。

准备数字的人根据比较两个数的大小,给出猜数字的人大了或者小了的结论。

一直循环直到猜到数字。

制作思想

要做成一个程序,那么和我们玩猜数字的就是电脑。

首先,我们要用电脑生成一个随机数。

其次,根据判断生成的随机数和玩家猜的数字判断大小给出范围。

最后,当两数相等就可以完成游戏了。

制作步骤
1.菜单

我们需要先打印一个开始界面作为进入游戏时的选项

void menu()
{
	cout << "1.开始游戏" << endl;
	cout << "2.退出游戏" << endl;
}

将菜单以函数的形式呈现,方便main的清晰表达

2.随机数的生成
#include 
#include 
	srand((unsigned int)time(NULL));

我们通过引用time.h和stilib.h两个头文件来实现随机数生成的条件

stdlib.h可以提供srand()和rand()函数,而time.h可以提供time()函数

通过srand()提供rand()函数所生成的随机数种子

但是这个随机数的种子会对应着一个数字,所以还需要一个随时会变的数字来控制这个随机数

所以引用了time()函数来获取当前系统时间来确定这个随机数的随机性

3.游戏的逻辑判断
void game()
{
	int num;
	int ret = rand() % 100 + 1;

	while (1)
	{
		cout << "你先猜啥数" << endl;
		cin >> num;
		if (ret > num)
		{
			cout << "小了,是格局小了。" << endl;
		}
		else if (ret < num)
		{
			cout << "格局大了,不过不错" << endl;
		}
		else
		{
			cout << "运气真好,混蛋" << endl;
			break;
		}
	}

与菜单一样通过一个函数来控制游戏的进行,以便main函数的理解

rand函数可生成的随机数范围是0~2147483647

显然并不需要这么大的数字来充当随机数

所以可以模上(%)个100以获取0~99的数,加上1即可获得1~100的数

为了增加趣味性,在用以判断范围的语句时可以加上一些有意思的话

当然为了更有人性化,还可以对这些话进行扩展十几句不同的语句

这个操作可以通过switch语句实现,可以使用rand函数随机生成不同语句

4.游戏的总体设计
int main()
{
	int  input, a = 1;
	srand((unsigned int)time(NULL));

	while (a)
	{
		menu();
		cout << "请打出你的想法" << endl;
		cin >> input;
		switch (input)
		{
		case 1:
		{
			game();
		}
		continue;
		case 2:
		{
			a--;
			break;
		}
		default:
		{
			cout << "请重新输入" << endl;
			break;
		}
		}
		cout << "游戏结束,下次多练练。" << endl;
	}


	return 0;
}

通过main函数与循环语句实现以上函数的整合

整体代码
#include 
#include 
#include 

using namespace std;

void menu()
{
	cout << "1.开始游戏" << endl;
	cout << "2.退出游戏" << endl;
}

void game()
{
	int num;
	int ret = rand() % 100 + 1;

	while (1)
	{
		cout << "你先猜啥数" << endl;
		cin >> num;
		if (ret > num)
		{
			cout << "小了,是格局小了。" << endl;
		}
		else if (ret < num)
		{
			cout << "格局大了,不过不错" << endl;
		}
		else
		{
			cout << "运气真好,混蛋" << endl;
			break;
		}
	}


}
int main()
{
	int  input, a = 1;
	srand((unsigned int)time(NULL));

	while (a)
	{
		menu();
		cout << "请打出你的想法" << endl;
		cin >> input;
		switch (input)
		{
		case 1:
		{
			game();
		}
		continue;
		case 2:
		{
			a--;
			break;
		}
		default:
		{
			cout << "请重新输入" << endl;
			break;
		}
		}
		cout << "游戏结束,下次多练练。" << endl;
	}


	return 0;
}
总结

这是个十分简易的小游戏,不过对于初学者来说是个不错的练习

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/976702.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号