猜数字小游戏 C++

  • Post author:
  • Post category:其他


游戏规则为:系统随机生成一个1~100之间的数字,玩家进行猜测,提示玩家数字过大或过小,如果猜对则恭喜玩家胜利,并退出游戏。

代码如下:

#include<ctime>//生成随机数时需要的头文件
int main()
{
	//添加随机数种子,作用:利用当前系统的时间生成随机数,防止每一次随机数都一样
	srand((unsigned int)time(NULL));
	//1、系统生成随机数
	int num = rand() % 100 + 1; //rand()%100生成0~99的随机数
	int val ; //玩家输入的值
	while (1)
	{
		//2、玩家猜测
		cout << "请输入猜测的数:" << endl;
		cin >> val;
		//3、判断对错
		//猜对  退出游戏
		//猜错  提示过大或过小  重新返回第2步
		if (val > num)
		{
			cout << "猜测过大" << endl;
		}
		else if (val < num)
		{
			cout << "猜测过小" << endl;
		}
		else
		{
			cout << "恭喜你,猜对了!" << endl;
			break; //退出当前循环
		}
	}
}

测试结果如下:

现考虑对该小游戏进行优化,限制玩家输入次数,这里假设限制输入次数为5次,代码如下:

#include<ctime>//生成随机数时需要的头文件
#define N 5 //限制最大输入次数为N次
int main()
{
	//添加随机数种子,作用:利用当前系统的时间生成随机数,防止每一次随机数都一样
	srand((unsigned int)time(NULL));
	//1、系统生成随机数
	int num = rand() % 100 + 1; //rand()%100生成0~99的随机数

	int n = 0; //计算玩家输入的次数为n次
	cout << "玩家共有5次机会" << endl;

	int val; //玩家输入的值
	while (1)
	{
		cout << "\n玩家剩余" << N - n << "次机会" << endl;
		n++; //计数器+1
		if (n <= N)
		{
			//2、玩家猜测
			cout << "请输入猜测的数:" << endl;
			cin >> val;
		}
		else
		{
			cout << "已达到最大输入次数,游戏结束" << endl;
			break;
		}
		//3、判断对错
		//猜对  退出游戏
		//猜错  提示过大或过小  重新返回第2步
		if (val > num)
		{
			cout << "猜测过大" << endl;
		}
		else if (val < num)
		{
			cout << "猜测过小" << endl;
		}
		else
		{
			cout << "恭喜你,猜对了!" << endl;
			break; //退出当前循环
		}
	}
}

测试结果如下:



版权声明:本文为qq_63449938原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。