猜数字小游戏

1.自动生成一个1-100之间的随机整数

2.猜数字:a.对,提示猜对了,游戏结束

               b.错,提示猜大了或猜小了,游戏继续,直至猜对

 3. 不会自动退出游戏,除非选择退出

先来写一个简单的菜单和游戏本体~ 

#define _CRT_SECURE_NO_WARNINGS//第一行是为了让scanf正常使用不报错
using namespace std;//这样不用写 std::cin 和 std::cout 了
//添加一些需要用到的头文件
#include<stdio.h>
#include<iostream>
#include<stdlib.h>
#include<time.h>

void menu()//创建一个简单的菜单
{
	cout << "****************" << endl;
	cout << "*****1.play*****" << endl;
	cout << "*****0.exit*****" << endl;
	cout << "****************" << endl;
}

void game()//游戏本体:实现生成随机数和猜数字
{
	int n = rand() % 100 + 1;//将生成随机数字的范围定在1-100
	//因为%100后的结果是0-99所以+1
	int g;
	while (1)//永真
	{
		cout << "请输入您猜的数字:>";//懒得用printf了orz
		cin >> g;//懒得用scanf了
		if (g < n)
			cout << "猜小了!"<<endl;
		else if (g > n)
			cout << "猜大了!"<<endl;
		else
		{
			cout << "猜对了!游戏结束" << endl;
			break;
		}
	}
}

再写一下主函数:

//因为rand函数只会返回3-32767这个范围里的数字,且会重复
//所以使用srand函数,以系统时间作为种子产生随机数
//放在主函数中不放在game函数中是因为srand函数只需要调用一次
//如果放在game函数中的话,每次产生的随机数就会离得很近

int main()//主函数
{
	srand((unsigned int)time(NULL));//因为rand函数只会返回3-32767这个范围里的数字,且会重复
	//所以使用srand函数,以系统时间作为种子产生随机数
	//放在主函数中不放在game函数中是因为srand函数只需要调用一次
	//如果放在game函数中的话,每次产生的随机数就会离得很近
	int input = 0;
	do
	{
		menu();
		cout << "请选择:>";
		cin >> input;
		switch (input)
		{
		case 1:
			game();
			break;
		case 0:
			cout << "退出游戏";
			break;
		default:
			cout << "error,请输入1或0";
			break;
		}
	}
	while (input);//使用do while 循环让第一次先玩了
	return 0;
}

演示效果:

受不了这倒霉催的运气了,结果就跟第一次猜的差1 ,笑死我了

****************
*****1.play*****
*****0.exit*****
****************
请选择:>1
请输入您猜的数字:>50
猜小了!
请输入您猜的数字:>75
猜大了!
请输入您猜的数字:>62
猜大了!
请输入您猜的数字:>56
猜大了!
请输入您猜的数字:>53
猜大了!
请输入您猜的数字:>52
猜大了!
请输入您猜的数字:>51
猜对了!游戏结束
****************
*****1.play*****
*****0.exit*****
****************
请选择:>0
退出游戏

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值