猜数游戏的一个C++实现

说明

程序来源于一个游戏:A 事先想好一个小于1000的自然数n并默记,B 的任务是猜出这个数。过程中, B 每猜一个数xi, A 会根据 xi 相对 n 的大小回复“太大”、“太小”或“正确”。十次猜的机会之内,B收到“正确”即为赢,否则为输。


代码

#include<iostream>
//#include<stalib.h>
#include<time.h>
using namespace std;
int sta=1;
int var=0;
void end_game()
{
	//if(!in)
	{cout<<"你真垃圾!"<<"告诉你,正确答案是"<<var<<endl;}
	//if(in==var)
	//{cout<<"真棒!你赢了!"<<endl;sta=0;}
	
}
void conti()
{
	cout<<"play again? yes(y) or no(any key other than y):\n";
	char temp;
	cin>>temp;
	if(temp=='y'||temp=='Y')
		sta=1;
	else sta=3;
}
void result(int in)
{
	if(in>var)
	{cout<<"你猜的太大了!\n";sta--;}
	else if(in<var)
	{cout<<"你猜的太小了!\n";sta--;}
	else 
	{cout<<"真棒!你赢了!"<<endl;sta-=11;}
}
void init()
{
	srand((int)time(0));
	var=rand()%1000;
	sta=9;			//9次机会
}
void game()
{
	init();
	cout<<"请输入一个不大于1000的自然数:\n";
	for(;sta>=1;)
	{
		int in;
		cin>>in;
		result(in);
	}
	if(sta==0)end_game();
	sta=0;
}
int main()
{
	for ( ; sta!=0; )
	{
		switch (sta)
		{
		case 1:game();
		case 2:{conti();break;}
		//case 2:
		case 3:{cout<<"welcome play later!\n";sta=0;break;}
		}
	}

	return 0;
}

重点

  1. 随机数的产生;
  2. 多次执行main()函数;




猜你喜欢

转载自blog.csdn.net/lituusliu/article/details/77161727