C++棋类小游戏2

今天给大家带来我花了1周时间自创的小游戏的升级版,博主还是一名小学生,希望大家提提意见。这是我写的最长的C++代码,希望大家喜欢,不要抄袭,任何编译器都可以。 

以前版本——C++自创棋类小游戏-CSDN博客

C++内容提示:

system("cls");

1.system("cls");是在以下代码出现了很多次,system("cls")意思是清空屏幕。

2.system("color xx);是改变字体及背景颜色,前一个x代表一个数字,可以改变背景颜色,后一个x代表一个数字,可以改变字体颜色 ,但都是根据颜色表来的。

记住:要加头文件:#include<windows.h>
颜色对照表: 
0 = 黑色
1 = 蓝色
2 = 绿色
3 = 湖蓝色
4 = 红色
5 = 紫色
6 = 黄色
7 = 白色
8 = 灰色
9 = 亮蓝色
A = 亮绿色
B = 亮湖蓝色
C = 亮红色
D = 亮紫色
E = 亮黄色
F = 亮白色 

例子:

#include<bits/stdc++.h>
#include<windows.h> 
using namespace std;
int main(){
	system("color 01");
	cout<<"1234567890"; 
	return 0;
}

输出结果:

 

当然了,也可以用:

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x02);

具体就不在讲了。

 3.想要在做C++小游戏里实现等待效果,可以用Sleep。

Sleep函数可以使计算机程序(进程,任务或线程)进入休眠,使其在一段时间内处于非活动状态。

一般需要头文件include<windows.h>。

注意"Sleep"首字母要大写,小括号内参数单位是毫秒。

下面这个示例程序可以帮助你了解一下这个函数:

#include <windows.h>  //需要的头文件
 
int main(void)
{
 
    Sleep(1000);    //单位,毫秒 (在VC中Sleep中的第一个英文字符为大写的"S")
 
}

注意:

1.用万能头文件不管用了,要包含windows头文件:

#include<windows.h>
2.n可以自由更改,但不要太大,否则容易卡住。

3.Sleep函数一定要大写,否则不管用,会报错。

关于Sleep函数使用
Windows下是大写字母开头的Sleep(),单位为毫秒,linux下面是小写的sleep()。Linux下的sleep()函数是以秒为单位的,sleep(1)就是休眠1毫秒,想实现更短的休眠,linux下有usleep()函数。

记住,Sleep函数中()内只能是数字!

4.MessageBox 

MessageBox指的是显示一个模态对话框,其中包含一个系统图标、 一组按钮和一个简短的特定于应用程序消息,如状态或错误的信息。消息框中返回一个整数值,该值指示用户单击了哪个按钮。

这是MessageBox函数的标准格式之一,本人喜欢用这种格式,注意函数的大小写!

MessageBox不在 #include<bits/stdc++.h> 头文件里面,在 #include<windows.h> 里面!

MB_OK:只有一个按键,即确定

MB_ABORTRETRYIGNORE:有三个按键,分别是中止、重试和忽略

MB_OKCANCEL:有两个按键,确定和取消

例子:

#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
    int main(){
        MessageBox(NULL,"你好,我是喷火龙","提示",MB_OK);
        return 0;
    }

下面就是游戏代码了: 

#include<windows.h>
#include<conio.h>
#include<bits/stdc++.h>
#include <stdlib.h>
using namespace std;
#define Forij(x) for(int i=1;i<=x;i++) for(int j=1;j<=x;j++)
#define N 25 
int v;
char* u;
int cnt1=0,cntt=0,cnt2=100,ab[1005],mina=100,jl=1;
int huo1=5,huo2=10,huo3=15,huo4=40;
int jie1=4,jie2=15,jie3=10,jie4=50;
int miao1=6,miao2=9,miao3=16,miao4=45;
int pi1=5,pi2=11,pi3=18,pi4=48;
int lie1=20,lie2=50,lie3=60,lie4=100;
int chao1=50,chao2=80,chao3=100,chao4=200; 
int fx[4][2]={{1,1},{1,0},{0,1},{1,-1}};
int Q,GG;
string C[20]={"●","○","﹢","═","║","╔","╚","╗","╝","·"};
void color(int a){SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),a);} 
void gotoxy(int x,int y){COORD pos;pos.X=2*x;pos.Y=y;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);}
struct Gomoku
{
    int m[50][50],nx,ny;
    void reset()
	{
        system("cls");
        memset(m,-1,sizeof(m));
        color(7);
        for (int i=1; i<=N; i++)
		{
            gotoxy(0,i);cout<<C[4]; gotoxy(N+1,i);cout<<C[4];
            gotoxy(i,0);cout<<C[3]; gotoxy(i,N+1);cout<<C[3];
        }
        gotoxy(0,0);cout<<C[5]; gotoxy(0,N+1);cout<<C[6];
        gotoxy(N+1,0);cout<<C[7]; gotoxy(N+1,N+1);cout<<C[8];
        color(3);
        Forij(N){gotoxy(i,j); cout<<C[2];}
        nx=ny=N/2+1; gotoxy(nx,ny);
    }
    void _drop(int x,int i,int j) 
	{
        m[i][j]=x;
        gotoxy(i,j);
        color(15); cout<<C[x];
    }
    int check()
	{
        Forij(N){
            for (int Fx=0,tmp,lst,xx,yy; Fx<4; Fx++) if(m[i][j]!=-1){
                xx=i,yy=j,tmp=0,lst=m[i][j];
                for (int k=1; k<=5; k++){
                    if (xx>N || yy>N) break;
                    if (m[xx][yy]==(lst^1)){break;}
                    if (m[xx][yy]==lst) tmp++;
                    xx+=fx[Fx][0],yy+=fx[Fx][1];
                }
                if (tmp==5){return lst;}
            }
        }
        return -1;
    }
    int arnd(int x,int y)
	{
        int cnt=0;
        for (int i=x-1; i<=x+1; i++) if (i>0 && i<=N)
            for (int j=y-1; j<=y+1; j++) if (j>0 && j<=N)
                if (m[i][j]>-1) cnt++;
    }
    void get_val(int x,int y,int &val)
	{
        val=0;
        Forij(N)
		{
            for (int Fx=0,tmp,tk,xx,yy; Fx<4; Fx++)
			{
                xx=i,yy=j,tmp=tk=0;
                for (int k=1; k<=5; k++)
				{
                    if (xx>N || yy>N){tmp=0; break;}
                    if (m[xx][yy]==(x^1)){tmp=0; break;}
                    if (m[xx][yy]==x) tmp++,tk+=(1<<(k-1));
                    xx+=fx[Fx][0],yy+=fx[Fx][1];
                }
                switch(tmp)
				{
                    case 5:val+=800000000; break; 
                    case 4:val+=1000+350*y; break;
                    case 3:val+=(tk==14)?(300+600*y):(300+200*y); break;
                    case 2:val+=3+2*y; break;
                    case 1:val+=1+y; break;
                }
            }
        }
    }
    void AI(int x)
	{
        int best,brnd,bi,bj,v1,v2,kkk;
        best=-2147483647;brnd=-2147483647;
        Forij(N) 
		if (m[i][j]==-1)
		{
            m[i][j]=x;
            get_val(x,10,v1);get_val(x^1,80,v2);
            if (v1-v2>best) bi=i,bj=j,best=v1-v2;
            if (v1-v2==best)
                if ((kkk=arnd(i,j))>brnd)
                    brnd=kkk,bi=i,bj=j;
            m[i][j]=-1;
        }
        _drop(x,bi,bj);
    }
    void HM(int x)
	{
        char ch=getch();bool t=224;
        for (;;ch=getch())
		{
            if (ch=='w'||ch=='W'||ch==72&&t) {if (ny>1) ny--;}
            else if (ch=='s'||ch=='S'||ch==80&&t) {if (ny<N) ny++;}
            else if (ch=='a'||ch=='A'||ch==75&&t) {if (nx>1) nx--;}
            else if (ch=='d'||ch=='D'||ch==77&&t) {if (nx<N)nx++;}
            else if ((ch==32&&t||ch==13&&t)&&m[nx][ny]==-1){_drop(x,nx,ny); return;}
            gotoxy(nx,ny);
        }
    }
} A;
class Chessboard;
class Chess
{
private:
	int Id;
public:
	Chess(int x) :Id(x) {}
	int Get()                
	{
		return Id;
	}
	virtual bool Judgement(Chessboard& ch, int startx, int starty, int endx, int endy) = 0;
	virtual ~Chess() {}
};
class Chessboard
{
private:
	Chess *c[10][11];       
	char Chessword[15][4] = { "兵","炮","车","马","相","仕","帅"," ","将","士","象","馬","車","砲","卒" };
public:
	static int Player;       
	static bool End;         
	Chessboard();
	Chess *Get(int x, int y);
	int Getid(int x, int y);
	bool Move(int startx, int starty, int endx, int endy);	
	void Init();               
	void Show();              
	void Play();              
	~Chessboard();
};
class General :public Chess
{
public:
	General(int i) :Chess((i == 0 ? -1 : 1)) {}
	bool Judgement(Chessboard& ch, int startx, int starty, int endx, int endy)
	{
		int TempX = startx - endx;
		int TempY = starty - endy;
		int S_Id = ch.Getid(startx, starty);
		int E_Id = ch.Getid(endx, endy);
		if ((S_Id*E_Id <= 0) && (TempX*TempX + TempY * TempY == 1) && (endx >= 4 && endx <= 6) && (endy >= 1 && endy <= 3 || endy >= 8 && endy <= 10))
		{
			return true;
		}
		return false;
	}
	~General()
	{
		Chessboard::End = false;
	}
};
class BodyGuard :public Chess
{
public:
	BodyGuard(int i) :Chess((i == 0 ? -2 : 2)) {}
	bool Judgement(Chessboard& ch, int startx, int starty, int endx, int endy)
	{
		int TempX = startx - endx;
		int TempY = starty - endy;
		int S_Id = ch.Getid(startx, starty);
		int E_Id = ch.Getid(endx, endy);
		if ((S_Id*E_Id <= 0) && (TempX*TempX + TempY * TempY == 2) && (endx >= 4 && endx <= 6) && (endy >= 1 && endy <= 3 || endy >= 8 && endy <= 10))
		{
			return true;
		}
		return false;
	}
};
class Chancellor :public Chess
{
public:
	Chancellor(int i) :Chess((i == 0 ? -3 : 3)) {}
	bool Judgement(Chessboard& ch, int startx, int starty, int endx, int endy)
	{
		int TempX = startx - endx;
		int TempY = starty - endy;
		int S_Id = ch.Getid(startx, starty);
		int E_Id = ch.Getid(endx, endy);
		if ((S_Id*E_Id <= 0) && (TempX*TempX + TempY * TempY == 8) && (endx % 2 != 0 && endx >= 1 && endy <= 9) && ((starty - 1) / 5 == (endy - 1) / 5) && !ch.Get(startx + (TempX / 2), starty + (TempY / 2)))
		{
			return true;
		}
		return false;
	}
};
class Horse :public Chess
{
public:
	Horse(int i) :Chess((i == 0 ? -4 : 4)) {}
	bool Judgement(Chessboard& ch, int startx, int starty, int endx, int endy)
	{
		int TempX = startx - endx;
		int TempY = starty - endy;
		int S_Id = ch.Getid(startx, starty);
		int E_Id = ch.Getid(endx, endy);
		if ((S_Id*E_Id <= 0) && (TempX*TempX + TempY * TempY == 5) && !ch.Get(startx + (TempX / 2), starty + (TempY / 2)))
		{
			return true;
		}
		return false;
	}
};
class Chariot :public Chess
{
public:
	Chariot(int i) :Chess((i == 0 ? -5 : 5)) {}
	bool Judgement(Chessboard& ch, int startx, int starty, int endx, int endy)
	{
		int TempX = startx - endx;
		int TempY = starty - endy;
		int S_Id = ch.Getid(startx, starty);
		int E_Id = ch.Getid(endx, endy);
		if ((S_Id*E_Id <= 0) && (!(TempX&&TempY)) && (TempX + TempY))
		{
			if (TempX)
			{
				int Sign = (TempX > 0 ? -1 : 1);
				for (int i = 1; i < fabs(TempX); i++)
				{
					if (ch.Get(startx + Sign * i, starty))
					{
						return false;
					}
				}
			}
			else
			{
				int Sign = (TempY > 0 ? -1 : 1);
				for (int i = 1; i < fabs(TempY); i++)
				{
					if (ch.Get(startx, starty + Sign * i))
					{
						return false;
					}
				}
			}
			return true;
		}
		return false;
	}
};
class Cannon :public Chess
{
public:
	Cannon(int i) :Chess((i == 0 ? -6 : 6)) {}
	bool Judgement(Chessboard& ch, int startx, int starty, int endx, int endy)
	{
		int TempX = startx - endx;
		int TempY = starty - endy;
		int S_Id = ch.Getid(startx, starty);
		int E_Id = ch.Getid(endx, endy);
		if ((S_Id*E_Id <= 0) && (!(TempX&&TempY)) && (TempX + TempY))
		{
			int Tmp = 0;
			if (TempX)
			{
				int Sign = (TempX > 0 ? -1 : 1);
				for (int i = 1; i < fabs(TempX); i++)
				{
					if (ch.Get(startx + Sign * i, starty))
					{
						Tmp++;
					}
				}
			}
			else
			{
				int Sign = (TempY > 0 ? -1 : 1);
				for (int i = 1; i < fabs(TempY); i++)
				{
					if (ch.Get(startx, starty + Sign * i))
					{
						Tmp++;
					}
				}
			}
			if (E_Id)
			{
				if (Tmp == 1)
				{
					return true;
				}
			}
			else
			{
				if (!Tmp)
				{
					return true;
				}
			}
		}
		return false;
	}
};
class Soldier :public Chess
{
public:
	Soldier(int i) :Chess((i == 0 ? -7 : 7)) {}
	bool Judgement(Chessboard& ch, int startx, int starty, int endx, int endy)
	{
		int TempX = startx - endx;
		int TempY = starty - endy;
		int S_Id = ch.Getid(startx, starty);
		int E_Id = ch.Getid(endx, endy);
		if ((S_Id*E_Id <= 0) && (S_Id*TempY <= 0))
		{
			if (fabs(TempY) == 1 && TempX == 0)
			{
				return true;
			}
			if (fabs(TempX) == 1 && TempY == 0)
			{
				if (((starty - 1) / 5 == 0 && S_Id < 0) || ((starty - 1) / 5 == 1 && S_Id > 0))
				{
					return true;
				}
			}
		}
		return false;
	}
};
int Chessboard::Player = -1;
bool Chessboard::End = true;
inline Chessboard::Chessboard()
{
	memset(c, NULL, sizeof(c));
}
inline Chess * Chessboard::Get(int x, int y)
{
	return c[x][y];
}
int Chessboard::Getid(int x, int y)
{
	if (c[x][y] != NULL)
	{
		return c[x][y]->Get();
	}
	return NULL;
}
bool Chessboard::Move(int startx, int starty, int endx, int endy)
{
	if (startx >= 1 && startx <= 9 && starty >= 1 && starty <= 10 && endx >= 1 && endx <= 9 && endy >= 1 && endy <= 10 && Getid(startx, starty) && Getid(startx, starty)*Player > 0 && c[startx][starty]->Judgement(*this, startx, starty, endx, endy))
	{
		if (c[endx][endy] != NULL)
		{
			delete c[endx][endy];           
		}
		c[endx][endy] = c[startx][starty];
		c[startx][starty] = NULL;
		Player *= -1;                       
		return true;
	}
	else
	{
		cout << "走法错误,请重新输入:" << endl;
		return false;
	}
}
void Chessboard::Init()
{
	c[1][1] = new Chariot(1);
	c[9][1] = new Chariot(1);
	c[2][1] = new Horse(1);
	c[8][1] = new Horse(1);
	c[3][1] = new Chancellor(1);
	c[7][1] = new Chancellor(1);
	c[4][1] = new BodyGuard(1);
	c[6][1] = new BodyGuard(1);
	c[5][1] = new General(1);
	c[2][3] = new Cannon(1);
	c[8][3] = new Cannon(1);
	c[1][4] = new Soldier(1);
	c[3][4] = new Soldier(1);
	c[5][4] = new Soldier(1);
	c[7][4] = new Soldier(1);
	c[9][4] = new Soldier(1);
	c[1][10] = new Chariot(0);
	c[9][10] = new Chariot(0);
	c[2][10] = new Horse(0);
	c[8][10] = new Horse(0);
	c[3][10] = new Chancellor(0);
	c[7][10] = new Chancellor(0);
	c[4][10] = new BodyGuard(0);
	c[6][10] = new BodyGuard(0);
	c[5][10] = new General(0);
	c[2][8] = new Cannon(0);
	c[8][8] = new Cannon(0);
	c[1][7] = new Soldier(0);
	c[3][7] = new Soldier(0);
	c[5][7] = new Soldier(0);
	c[7][7] = new Soldier(0);
	c[9][7] = new Soldier(0);
}
void Chessboard::Show()
{
	cout << endl;
	HANDLE handle;
	handle = GetStdHandle(STD_OUTPUT_HANDLE);
	SetConsoleTextAttribute(handle, 0xF0);
	cout << "     P2  一 二 三 四 五 六 七 八 九" << endl << endl;
	char num[11][4] = { "零","一","二","三","四","五","六","七","八","九" ,"十" };
	for (int i = 1; i < 11; i++)
	{
		if (i == 6)
		{
			SetConsoleTextAttribute(handle, 0xF0);
			cout << "          ————楚河 汉界————" << endl << endl;
		}
		SetConsoleTextAttribute(handle, 0xF0);
		cout << "     " << num[i] << "  ";
		for (int j = 1; j < 10; j++)
		{
			if (c[j][i] != NULL)
			{
				if (c[j][i]->Get() > 0)
				{
					SetConsoleTextAttribute(handle, 0xF2);
					cout << Chessword[c[j][i]->Get() + 7] << " ";
				}
				else
				{
					SetConsoleTextAttribute(handle, 0xFC);
					cout << Chessword[c[j][i]->Get() + 7] << " ";
				}
			}
			else if ((i == 2 && j == 5) || (i == 9 && j == 5))
			{
				SetConsoleTextAttribute(handle, 0xF0);
				cout << "米" << " ";
			}
			else
			{
				SetConsoleTextAttribute(handle, 0xF0);
				cout << "十" << " ";
			}
		}
		cout << endl << endl;
	}
	SetConsoleTextAttribute(handle, 0xF0);
	cout << "     P1  一 二 三 四 五 六 七 八 九" << endl << endl;
}
void Chessboard::Play()
{
	HANDLE handle;
	handle = GetStdHandle(STD_OUTPUT_HANDLE);
	SetConsoleTextAttribute(handle, 0xFC);
	system("cls");
	this->Init();
	this->Show();
	do
	{
		int startx, starty, aimx, aimy, iflag;
		int sid, aid;
		iflag = 0;
		do
		{
			sid = aid = 0;
			if ((Chessboard::Player == 1 ? 2 : 1) == 1)
			{
				SetConsoleTextAttribute(handle, 0xFC);
			}
			else
			{
				SetConsoleTextAttribute(handle, 0xF2);
			}
			cout << "请P" << (Chessboard::Player == 1 ? 2 : 1) << "输入起始棋子位置与目标位置的坐标:" << endl;
			cin >> startx >> starty >> aimx >> aimy;
		} while (!this->Move(startx, starty, aimx, aimy));
		system("cls");
		this->Show();
		for (int i = 4; i < 7; i++)
		{
			for (int j = 1; j < 11; j++)
			{
				if (c[i][j] != NULL)
				{
					if ((int)fabs(c[i][j]->Get()) == 1)
					{
						iflag++;
					}
					else if (iflag != 0 && iflag != 2)
					{
						if ((int)fabs(c[i][j]->Get()) != 1)
						{
							iflag--;
						}
					}
				}
			}
		}
		if (iflag == 2)
		{
			Player *= -1;
			Chessboard::End = false;
		}
	} while (Chessboard::End);
	if ((Chessboard::Player == 1 ? 1 : 2) == 1)
	{
		SetConsoleTextAttribute(handle, 0xFC);
	}
	else
	{
		SetConsoleTextAttribute(handle, 0xF2);
	}
	cout << "结束,赢家是Player" << (Chessboard::Player == 1 ? 1 : 2) << endl;
	
}
Chessboard::~Chessboard()
{
	for (int i = 0; i < 10; i++)
	{
		for (int j = 0; j < 11; j++)
		{
			if (c[i][j] != NULL)
			{
				delete c[i][j];
				c[i][j] = NULL;
			}
		}
	}
}
void slowout(char *p)
{
	while(1)
	{
		if(*p!=0)
		{
			printf("%c",*p++);
		}
		else
		{
			break;
		}
		Sleep(100);
	}
	cout<<endl;
}
int main()
{
	const int n=19,rangzi=7;
	int x,y,turn,a[101][101],vis[101][101],vist[101][101],ans,p;char g;bool flag;
	int dx[4]={0,1,0,-1},dy[4]={1,0,-1,0};
	system("color 74");
	Sleep(25); 
	system("color 04");
	Sleep(25); 
	system("color 74");
	Sleep(25); 
	system("color 04");
	Sleep(25); 
	system("color 74");
	Sleep(25); 
	system("color 04");
	Sleep(25); 
	system("color 74");
	Sleep(25); 
	system("color 04");
	Sleep(25); 
	system("color 74");
	Sleep(25); 
	system("color 04");
	Sleep(25);  
	slowout("棋类游戏即将开始,请做好准备!!!");
	cout<<"欢迎来到棋类世界\n";
	cout<<"请问您的姓名是_____?\n";
	string a1;
	cin>>a1;
	cout<<"你好"<<a1<<endl;
    int jn=0;//ji neng
    int fanhui;
    int money=10;
    int gy;
    int gy2; 
    int hq;
    int yonghu;
	int mima;
	int dj;//dao ju
	int slk=0;//sheng li ka
	int jqk=0;//jia qian ka
	int jhk=0;//ji hui ka
	int start=0;
	cout<<"----------------------------\n";
    cout<<"|          棋类游戏        |\n";
    cout<<"|        0.“游客”        |\n";
    cout<<"|        1.普通VIP         |\n";
    cout<<"|        2.黄金VIP         |\n"; 
    cout<<"----------------------------\n";
    cin>>gy2;
    if(gy2==0){
    	cout<<"身份:游客"<<endl; 
	}
	if(gy2==1){
		cout<<"请输入密码"<<endl;
		cin>>mima;
		if(mima==5963){
			cout<<"登入成功"<<endl;
			cout<<"身份:普通VIP"<<endl; 
		}
		else{
			cout<<"密码错误"<<endl;
			cout<<"身份:游客"<<endl; 
		}	
	}
	if(gy2==2){
		cout<<"请输入密码"<<endl;
		cin>>mima;
		if(mima==520520){
			cout<<"登入成功"<<endl;
			cout<<"身份:黄金VIP"<<endl; 
		}
		else{
			cout<<"密码错误"<<endl;
			cout<<"身份:游客"<<endl; 
		}	
	} 
	Sleep(1000); 
	system("cls");
	slowout("抵制不良游戏,拒绝盗版游戏。"); 
	slowout("注意自我保护,谨防受骗上当。");
	slowout("适度游戏益脑,沉迷游戏伤身。");
	slowout("合理安排时间,享受健康生活。");
	slowout("…+……loading……+……loading……+……loading……+……loading……+……");
	Sleep(1000); 
	system("pause");
	system("cls"); 
	int sy;//shi yong 
	while(1){
		cout<<"-------------------------------\n";
	    cout<<"|          棋类游戏           |\n";
	    cout<<"|        0.退出               |\n";
	    cout<<"|        1.人机对战           |\n";
	    cout<<"|        2.双人对战(待开发)   |\n";
	    cout<<"|        3.猜数游戏(单人)     |\n"; 
	    cout<<"|        4.猜数游戏(人机&多人)|\n"; 
	    cout<<"|        5.玩完五子棋关机     |\n"; 
	    cout<<"|        6.象棋               |\n";
	    cout<<"|        7.道具商店           |\n"; 
	    cout<<"|        8.VIP商店            |\n";
	    cout<<"|        9.技能对战           |\n";
	    cout<<"|        作者:喷火龙         |\n"; 
	    cout<<"-------------------------------\n";
	    if(jqk>0){
	    	cout<<"是否使用加钱卡?"<<endl;
			cout<<"1.使用 | 2.不用"<<endl;
			cin>>sy;
			if(sy==1){
				jqk-=1;
				cout<<"购买成功!"<<endl; 
				system("cls");
			}
			else{
				cout<<"继续"<<endl; 
				system("cls");
			}
		}
		cout<<"请选择"<<endl;
		int xx;
		cin>>xx;
	    slowout("…+……loading……+……loading……+……loading……+……");
	    if(xx==0){
	    	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x06);
	    	return 0;
	   	}
	    if(xx==1){ 
	    	SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x01);
			if(slk>0){
				cout<<"是否使用胜利卡?"<<endl;
	 			cout<<"1.使用 | 2.不用"<<endl;
				cin>>sy;
				if(sy==1){
					slk--;
					cout<<"使用成功"<<endl; 
					Sleep(2000);
					cout<<"\a";
					printf("你赢了一局!");
					money+=2;
					start+=0.5;
					system("cls");
				}
				if(sy==2){
					cout<<"继续"; 
				}
			}
			system("cls");
			cout<<"你想玩几局(范围:1000):"<<endl;
			cin>>v;
			if(v>1000){
				cout<<"It's too long!!!"<<endl;
				cout<<"Your Computer is broke!"<<endl;
				system("pause");
				cout<<"你想玩几局(范围:1000):"<<endl;
				cin>>v;
				if(v>1000){
					cout<<"It's too long!!!"<<endl;
					cout<<"Your Computer is broke";
					cout<<"我必须给你惩罚!!!";
					for(int j=1;j<=5;j++){
						system("color 00");
						cout<<"哈哈!!!"<<endl; 
						system("color 01");
						cout<<"哈哈!!!"<<endl; 
						system("color 02");
						cout<<"哈哈!!!"<<endl; 
						system("color 03");
						cout<<"哈哈!!!"<<endl; 
						system("color 04");
						cout<<"哈哈!!!"<<endl; 
						system("color 05");
						cout<<"哈哈!!!"<<endl; 
						system("color 06");
						cout<<"哈哈!!!"<<endl; 
						system("color 07");
						cout<<"哈哈!!!"<<endl; 
						system("color 08");
						cout<<"哈哈!!!"<<endl; 
						system("color 09");
						cout<<"哈哈!!!"<<endl; 
						Sleep(50);
					}
				}
			} 
			else{
				for (int i=1;i<=v;i++){
		        	A.reset();
			        for (GG=-1;;){
			            gotoxy(A.nx,A.ny);
			            A.HM(0); GG=A.check(); if (GG>-1) break;
			            A.AI(1); GG=A.check(); if (GG>-1) break;
			        }
			        gotoxy(5,N+3);
			        if (GG==0) {
						Sleep(2000);
						cout<<"\a";
						printf("你侥幸赢了一局!");
						money+=2;
						start+=0.5;
						cout<<"是否返回主页,1=是,2=否"<<endl;
						cin>>fanhui; 
						if(fanhui==1){
							system("cls");
						} 
						else{
							cout<<"继续"<<endl;
							system("cls");
						}
					}
			        if (GG==1) {
						Sleep(2000);
						cout<<"\a";
						printf("喷火龙的人工智障赢了!");
						cout<<"是否返回主页,1=是,2=否"<<endl;
						cin>>fanhui; 
						if(fanhui==1){
							system("cls");
						} 
						else{
							cout<<"继续"<<endl;
							system("cls");
						}
					} 
			        while (kbhit()) getch();
			        Sleep(2000);
			        gotoxy(5,N+3);
			        system("pause"); 
				}
			}
		}
		if(xx==2){
			SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x03);
			cout<<"待开发,敬请期待!!!"<<endl; 
			cout<<"想玩人机输1"<<endl; 
			cout<<"不想玩输0"<<endl; 
			int t;
			cin>>t;
			if(t==1){
	        	A.reset();
		        for (GG=-1;;){
		            gotoxy(A.nx,A.ny);
		            A.HM(0); GG=A.check(); if (GG>-1) break;
		            A.AI(1); GG=A.check(); if (GG>-1) break;
		        }
		        gotoxy(5,N+3);
		        if (GG==0) {
					Sleep(2000);
					system("cls");
					cout<<"\a";
					printf("你侥幸赢了一局!");
					money+=2;
					start+=0.5;
					cout<<"是否返回主页,1=是,2=否"<<endl;
					cin>>fanhui; 
					if(fanhui==1){
						system("cls");
					} 
					else{
						cout<<"继续"<<endl;
						system("cls");
					}
				} 
		        if (GG==1) {
					Sleep(2000);
					system("cls");
					cout<<"\a";
					printf("喷火龙的人工智障赢了!");
					cout<<"是否返回主页,1=是,2=否";
					cin>>fanhui; 
					if(fanhui==1){
						system("cls");
					} 
					else{
						cout<<"继续"<<endl;
						system("cls");
					}
				}
		        while (kbhit()) getch();
		        Sleep(2000);
		        gotoxy(5,N+3);
		        system("pause"); 
			}
			else{
				cout<<"by~";
				cout<<"作者:喷火龙"<<endl; 
				return 0;
			}
		}	
		if(xx==3){
			SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x05);
			cout<<"猜数";
			cout<<endl;
			cout<<"猜数游戏(1-100)"<<endl;
			cout<<"1.普通人员"<<endl;
			cout<<"2.VIP1"<<endl;
			cout<<"3.VIP2"<<endl;
			int qd;
			cin>>qd;
			int mm;
			int mm2;
			int mm3;
			int vip;
			if(qd==1){
				mm=10;
			}
			if(qd==2){
				cout<<"请输入密码:";
				cin>>mm2;
				if(mm2==5963){
					MessageBox(NULL,"你好,我是喷火龙,密码正确,VIP1模式,生命+10!!!","提示",MB_OK);
					mm=20; 
				}
				if(mm2!=5963){
					MessageBox(NULL,"你好,我是喷火龙,密码错误!!!","提示",MB_OK);
					system("cls");
					mm=10; 
					system("pause");
					cout<<"游戏继续"<<endl; 
				}
			} 
			if(qd==3){
				cout<<"请输入密码:";
				cin>>mm3;
				if(mm3==520520){
					MessageBox(NULL,"你好,我是喷火龙,密码正确,VIP2模式,请自定义生命数(猜几次)!!!","提示",MB_OK);
					cin>>mm;
				}
				if(mm3!=520520){
					MessageBox(NULL,"你好,我是喷火龙,密码错误!!!","提示",MB_OK);
					system("cls");
					mm=10; 
					system("pause");
					cout<<"游戏继续"<<endl;
				}
			}
			system("cls");
			if(jhk>0){
	    		cout<<"是否使用机会卡?"<<endl;
				cout<<"1.使用 | 2.不用"<<endl;
				cin>>sy;
				if(sy==1){
					jhk-=1;
					cout<<"使用成功!"<<endl; 
					mm+=3;
					jhk--; 
					system("cls");
				}
				else{
					cout<<"继续"<<endl; 
					system("cls");
				}
			}
			srand(time(NULL));
			int key=rand()%100+1;
			for(int i=1;i<=mm;i++)
			{
				int x;
				cout<<"请输入一个数字:";
				cin>>x;
				if(x>100||x<1){
					cout<<"浪费机会!!!"; 
				}
				if(x<key)
				{
					cout<<"小了"<<endl;
				} 
				if(x>key)
				{
					cout<<"大了"<<endl;
				} 
			    if(x==key)
				{
					SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x02);
					cout<<"恭喜您,猜对啦!"<<endl;
					money++; 
					start++;
					cout<<"是否返回主页,1=是,2=否";
					cin>>fanhui; 
					if(fanhui==1){
						system("cls");
					} 
					else{
						cout<<"继续"<<endl;
						system("cls");
					}
				} 
			}
			cout<<"10次机会已用完,很遗憾,未猜对!"<<endl;
			cout<<"正确数字是:"<<key<<endl;
			Sleep(1000);
			system("cls");
			cout<<"是否返回主页,1=是,2=否"<<endl;
			cin>>fanhui; 
			if(fanhui==1){
				system("cls");
			} 
			else{
				cout<<"继续"<<endl;
				system("cls");
			}
		}
		if(xx==4){
			SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x07);
			int n,m;
			bool c[100005];
			cout<<"猜数";
			cout<<endl;
			srand(time(NULL));
		    cout<<"==============================================================\n几人猜数(只支持100000人以内)??";
		    cin>>n;
		    cout<<"==============================================================\n0~几???";
		    cin>>m;
		    for(;;)
		    {
		        cout<<"==============================================================\n开始!!!";
		        int x=rand()%(m+1),y,h=0,e=m,t=rand()%n;
		        bool hh=1,ee=1;
		        do
		        {
		            cout<<"\n==============================================================\n";
		            cout<<h<<"~"<<e<<endl;
		            ++t;
		            t-=t>n?n:0;
		            if(!c[t])
		              cout<<t<<"号猜(电脑帮猜 输1 ,设置TA为电脑 输2):",cin>>y;
		            if(y==2)
		              c[t]=1;
		            if(y==1||c[t])
		            {
		                y=(h+e)/2;
		                cout<<"帮"<<t<<"号猜猜成"<<y<<endl;
		                if(y==x)
		                  break;
		                if(y>x)
		                {
		                    cout<<"大了";
		                    e=y; 
		                    continue;
		                }
		                if(y<x)
		                {
		                    cout<<"小了";
		                    h=y; 
		                    continue;
		                }
		            } 
		            if(y<=h||y>=e)
		            {
		                cout<<"浪费机会!!!";
		                continue;
		                if(!h&&!y)
		                  if(hh)
		                    hh=0;
		                else
		                {
		                    cout<<"浪费机会!!!";
		                    continue;
		                }
		                if(e==m&&y==m)
		                  if(ee)
		                    ee=0;
		                else
		                {
		                    cout<<"浪费机会!!!";
		                    continue;
		                }
		            }
		            if(y>x)
		            {
		                cout<<"大了";
		                e=y; 
		            }
		            if(y<x)
		            {
		                cout<<"小了";
		                h=y; 
		            }
		        }while(x!=y);
		        cout<<t<<"号赢了!!!\n==============================================================\n再来一局吗?\ny/n\n";
		        char a;
		        a=getch();
		        if(a=='n'||a=='N')
		        	break; 
		    }
		    getchar();
		    cout<<"==============================================================\nbyebye!\n==============================================================\n双击任意键结束,单机空格关机!";
		    char a=getch();
		    if(a==' ')
		    {
		        cout<<"\n确定吗??确定点空格一下,否则双击任意键结束。";
		        a=getch();
		        if(a==' ')
		        	system("shutdown -s -t 0");
		    }
		if(xx==5){	
			SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x01);
			cout<<"范围(1~1000)你想玩几局:"<<endl;
			cin>>v;
			if(v>1000){
				cout<<"It's too long!!!"<<endl;
				cout<<"Your Computer is broke"<<endl;
				system("pause");
				cout<<"范围(1~1000)你想玩几局:"<<endl;
				cin>>v;
				if(v>1000){
					cout<<"It's too long!!!"<<endl;
					cout<<"Your Computer is broke."<<endl;
					cout<<"我必须给你惩罚!!!";
					cout<<"你的money-1,start-0.5"<<endl; 
					money-=1;
					start-=0.5;
				}
				system("cls");	
			}
			else{
				MessageBox(NULL,"你好,我是喷火龙,玩完游戏你的电脑就会关机,请保存好其它东西!!!","提示",MB_OK);
				for (int i=1;i<=v;i++){
		        	A.reset();
			        for (GG=-1;;){
			            gotoxy(A.nx,A.ny);
			            A.HM(0); GG=A.check(); if (GG>-1) break;
			            A.AI(1); GG=A.check(); if (GG>-1) break;
			        }
			        gotoxy(5,N+3);
			        if (GG==0) {
						Sleep(2000);
						cout<<"\a";
						printf("你侥幸赢了一局!");
						money+=2;
						cout<<"是否返回主页,1=是,2=否"<<endl;
						cin>>fanhui; 
						if(fanhui==1){
							system("cls");
						} 
						else{
							cout<<"继续"<<endl;
							system("cls");
						}
					}
			        if (GG==1) {
						Sleep(2000);
						system("cls");
						cout<<"\a";
						printf("喷火龙的人工智障赢了!");
						cout<<"是否返回主页,1=是,2=否"<<endl;
						cin>>fanhui; 
						if(fanhui==1){
							system("cls");
						} 
						else{
							cout<<"继续"<<endl;
							system("cls");
						}
					} 
			        while (kbhit()) getch();
			        Sleep(2000);
			        gotoxy(5,N+3);
			        system("pause"); 
				}
			}
		}
			system("cls");
			if(MessageBox(NULL,"即将关机,最后确定一下","提示",MB_YESNO)==IDYES){  
				Sleep(2000); 
				system ("shutdown -p");	
			}
			else 
				return 0;	
		}
		if(xx==6){
			SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x0C);
			if(MessageBox(NULL,"是否找到另一个玩家?","提示",MB_YESNO)==IDYES){  
				Sleep(1000); 
				cout<<"象棋游戏开始(横着的数字在前,竖着的数字在后。)"<<endl;
				Sleep(4000);
				Chessboard C;
				C.Play();
				system("pause");
			}
			else{
				cout<<"请找到一个对手吧!"<<endl;
				return 0;
			}
		}
		if(xx==7){
			cout<<"-------------------------------\n";
		    cout<<"|              道具           |\n";
		    cout<<"|            物品       价格  |\n"; 
		    cout<<"|    0.退出商店        | 无   |\n"; 
		    cout<<"|    1.胜利卡(直接胜利)| 3$   |\n";
		    cout<<"|    2.加钱卡(获得10$) | 2☆  |\n";
		    cout<<"|    3.机会卡(多猜3次) | 3$   |\n"; 
		    cout<<"-------------------------------\n";
		    cout<<"你的money:"<<money<<" "<<endl;
		    cout<<"你的start:"<<start<<" "<<endl; 
		    cout<<"要买啥?"<<endl;
			cin>>dj; 
			if(dj==0){
				cout<<"成功退出"<<endl;
				system("cls");
				cout<<"是否返回主页,1=是,2=否"<<endl;
				cin>>fanhui; 
				if(fanhui==1){
					system("cls");
				} 
				else{
					cout<<"继续"<<endl;
					system("cls");
				}
			} 
			if(dj==1){
				if(money>=3){
					money-3;
					cout<<"购买成功!"<<endl;
					slk++;
					system("cls");
				}
				else{
					cout<<"money不够。"<<endl;
					system("cls");
				}
			}
			if(dj==2){
				if(start>=2){
					start-2;
					cout<<"购买成功!"<<endl;
					jqk++;
					system("cls");
				}
				else{
					cout<<"start不够。"<<endl;
					system("cls");
				}
			}
			if(dj==3){
				if(money>=3){
					money-3;
					cout<<"购买成功!"<<endl;
					jhk++;
					system("cls");
				}
				else{
					cout<<"money不够。"<<endl;
					system("cls");
				}
			}
			if(dj>3){
				cout<<"无效输出。"<<endl;
				system("cls");
			}
		}
		if(xx==8){
			cout<<"-------------------------------\n";
		    cout<<"|          棋类游戏           |\n";
		    cout<<"|        0.退出               |\n";
		    cout<<"|        1.普通VIP(1级10$)  |\n";
		    cout<<"|        2.黄金VIP(2级50$)  |\n"; 
		    cout<<"-------------------------------\n";
		    cout<<"1.购买VIP";
		    cin>>gy;
		    if(gy==0){
		    	cout<<"成功退出"<<endl;
		    	system("cls");
				cout<<"是否返回主页,1=是,2=否"<<endl;
				cin>>fanhui; 
				if(fanhui==1){
					system("cls");
				} 
				else{
					return 0;
				} 
			}
			if(gy==1){
				cout<<"你的money:"<<money<<endl;
				cout<<"买哪个VIP,输入0退出";
				cin>>hq;
				if(hq==0){
					cout<<"返回"<<endl;
					system("cls");
				} 
				if(hq==1){
					if(money>=10){
						money-10;
						cout<<"VIP1级已购买成功,密码:5963"<<endl;
						Sleep(1500);
						system("cls"); 
					}
					else{
						cout<<"money不够"<<endl;
						Sleep(1000);
						system("cls");
					}
				}
				if(hq==2){
					if(money>=50){
						money-50;
						cout<<"VIP2级已购买成功,密码:520520"<<endl; 
						Sleep(1500);
						system("cls");
					}
					else{
						cout<<"money不够"<<endl;
						Sleep(1000);
						system("cls");
					}
				}
			} 
		}
		if(xx==9){ 
			cout<<"欢迎来到宝可梦大陆\n";
			cout<<"1.对战 | 2.商店";
			int a2;
			cin>>a2;
			if(a2==1){
				if(cntt==0){
					cout<<"由于您是初次游玩,系统为您准备了三个宝可梦,请选择一个\n";
					cout<<"1-小火龙 2-杰尼龟 3-妙蛙种子\n";
					int a3;
					cin>>a3;
					if(a3==1){
						cout<<"恭喜获得小火龙\n"; 
						ab[1]=1;
					}
					else if(a3==2){
						cout<<"恭喜获得杰尼龟\n";
						ab[2]=1; 
					}
					else{
						cout<<"恭喜获得妙蛙种子\n"; 
						ab[3]=1;
					}
					cntt=1;
				}
				system("cls");
				if(cnt1<=10){
	    			int lena1=3,lena2=4,lena3=7,lenb1=3,lenb2=4,lenb3=7,ji1,ji2,ji3,ji4;
	    			cout<<"你的对手是小火龙\n";
	    			cout<<"请选择一个宝可梦出战:\n";
	    			if(ab[1]==1){
	    				cout<<"小火龙 ";
					}
					if(ab[2]==1){
						cout<<"杰尼龟 "; 
					}
					if(ab[3]==1){
						cout<<"妙蛙种子 "; 
					}
					if(ab[5]==1){
						cout<<"皮卡丘";
					}
					if(ab[8]==1){
						cout<<"裂空座 ";
					}
					if(ab[9]==1){
						cout<<"超梦 ";
					}
					cout<<endl;
					string a7;
					cin>>a7;
					system("cls");
					if(a7=="小火龙"){
						cout<<"小火龙的技能:\n";
						cout<<"普通攻击:"<<"-"<<huo1<<endl;
						cout<<"一技能喷火:"<<"-"<<huo2<<endl;
						cout<<"二技能火球:"<<"-"<<huo3<<endl;
						cout<<"大招火焰洗礼:"<<"-"<<huo4<<endl;
						ji1=huo1;
						ji2=huo2;
						ji3=huo3;
						ji4=huo4;
					}
					if(a7=="杰尼龟"){
						cout<<"杰尼龟的技能:\n";
						cout<<"普通攻击:"<<"-"<<jie1<<endl;
						cout<<"一技能水刃:"<<"-"<<jie2<<endl;
						cout<<"二技能水弹:"<<"-"<<jie3<<endl;
						cout<<"大招水冲龙门:"<<"-"<<jie4<<endl;
						ji1=jie1;
						ji2=jie2;
						ji3=jie3;
						ji4=jie4;
					}
					if(a7=="妙蛙种子"){
						cout<<"妙蛙种子的技能:\n";
						cout<<"普通攻击:"<<"-"<<miao1<<endl;
						cout<<"一技能草剑:"<<"-"<<miao2<<endl;
						cout<<"二技能飞花:"<<"-"<<miao3<<endl;
						cout<<"大招绿意盎然:"<<"-"<<miao4<<endl;
						ji1=miao1;
						ji2=miao2;
						ji3=miao3;
						ji4=miao4;
					}
					if(a7=="皮卡丘"){
						cout<<"皮卡丘的技能:\n";
						cout<<"普通攻击:"<<"-"<<pi1<<endl;
						cout<<"一技能十万伏特:"<<"-"<<pi2<<endl;
						cout<<"二技能铁尾:"<<"-"<<pi3<<endl;
						cout<<"大招百万伏特:"<<"-"<<pi4<<endl;
						ji1=pi1;
						ji2=pi2;
						ji3=pi3;
						ji4=pi4;
					}
					if(a7=="裂空座"){
						cout<<"裂空座的技能:\n";
						cout<<"普通攻击:"<<"-"<<lie1<<endl;
						cout<<"一技能甩尾:"<<"-"<<lie2<<endl;
						cout<<"二技能暴咬:"<<"-"<<lie3<<endl;
						cout<<"大招恶龙咆哮:"<<"-"<<lie4<<endl;
					}
					if(a7=="超梦"){
						cout<<"超梦的技能:\n";
						cout<<"普通攻击:"<<"-"<<chao1<<endl;
						cout<<"一技能暴击:"<<"-"<<chao2<<endl;
						cout<<"二技能拳击:"<<"-"<<chao3<<endl;
						cout<<"大招一击必杀:"<<"-"<<chao4<<endl;
						ji1=chao1;
						ji2=chao2;
						ji3=chao3;
						ji4=chao4;
					}
					cout<<"1-普攻 2-一技能 3-二技能 4-大招\n"; 
					int jiu1=5,jiu2=5,minb=100;
					for(int i=1;i<=1000;i++){
						if(mina<=0){
							cout<<"你输了\n";
							cnt2-=5;
							break;
						}
						if(minb<=0){
							cout<<"你赢了\n"; 
							cnt2+=50;
							money+=2;
							break;
						}
						if(minb<=0&&jl>0){
							cout<<"你赢了\n";
							cnt2+=60;
							money+=3;
							cout<<"你有"<<jl<<"个精灵球是否将它收服?\n";
							string a10;
							cin>>a10;
							if(a10=="是"){
								cout<<"恭喜获得小火龙\n";
								ab[1]=1; 
								jl--;
							}
							break;
						}
						cout<<"第"<<i<<"回合\n";
						cout<<"你的急救包剩余"<<jiu1<<endl;
						int a8;
						srand(time(NULL));
	    				a8=rand()%2+1;
						if(a8==1){
							cout<<"你是先手\n";
							cout<<"请选择你要用的技能\n";
							int a9,a11=0,a12=0,a13=0;
							cin>>a9;
							if(a9==1){
								cout<<"你使用了普攻对方生命-"<<ji1<<endl; 
								minb-=ji1;
								cout<<"对方生命"<<minb<<endl;
							}
							if(a9==2&&lena1>=3){
								cout<<"你使用了一技能对方生命-"<<ji2<<endl;
								minb-=ji2;
								cout<<"对方生命"<<minb<<endl; 
								lena1=0;
								a11=1;
							}
							if(a11=1){
								lena1++;
							}
							if(a9==3&&lena2>=4){
								cout<<"你使用了二技能对方生命-"<<ji3<<endl;
								minb-=ji3;
								lena2=0;
								a12=1;
							}
							if(a12==1){
								lena2++;
							}
							if(a9==4&&lena3>=7){
								cout<<"你使用了大招对方生命-"<<ji4<<endl;
								minb-=ji4;
								lena3=0;
								a13=1;
							}
							if(a13==1){
								lena3++;
							}
							if(jiu2>0){
								cout<<"对方使用了急救包生命+10\n";
								minb+=10;
								cout<<"对方生命"<<minb<<endl;
								jiu2--;
							}
							cout<<"到对方攻击了\n";
							int c,a14=0,a15=0,a16=0;
							srand(time(NULL));
	    					c=rand()%4+1;
	    					if(c==1){
	    						cout<<"对方使用了普攻你的生命-5\n";
								mina-=5; 
								cout<<"你的生命:"<<mina<<endl;
							}
							else if(c==2&&lenb1==3){
								cout<<"对方使用了一技能你的生命-10\n";
								mina-=10;
								cout<<"你的生命:"<<mina<<endl;
								a14=1;
								lenb1=0;
							}
							else if(c==3&&lenb2==4){
								cout<<"对方使用了二技能你的生命-15\n";
								mina-=15;
								cout<<"你的生命:"<<mina<<endl;
								a15=1;
								lenb2=0;
							}
							else if(c==3&&lenb3==7){
								cout<<"对方使用了大招你的生命-40\n";
								minb-=40;
								cout<<"你的生命:"<<mina<<endl;
								a16=1;
								lenb3=0;
							}
							else{
								cout<<"对方使用了普攻你的生命-5\n";
								mina-=5; 
								cout<<"你的生命:"<<mina<<endl;
							}
							if(a14==1){
								lenb1++;
							}
							if(a15==1){
								lenb2++;
							}
							if(a16==1){
								lenb3++;
							}
							if(jiu1>0){
								if(mina<=20){ 
									cout<<"你有一个急救包是否使用?\n";
									string a17;
									cin>>a17;
									if(a17=="是"){
										cout<<"使用成功\n";
										mina+=10;
										jiu1--;
										cout<<"你的生命:"<<mina<<endl;
									}
								}
							} 
						}
						else{
							cout<<"对方是先手\n";
							cout<<"到对方攻击了\n";
							int c,a14=0,a15=0,a16=0;
							srand(time(NULL));
	    					c=rand()%4+1;
	    					if(c==1){
	    						cout<<"对方使用了普攻你的生命-5\n";
								mina-=5; 
								cout<<"你的生命:"<<mina<<endl;
							}
							else if(c==2&&lenb1==3){
								cout<<"对方使用了一技能你的生命-10\n";
								mina-=10;
								cout<<"你的生命:"<<mina<<endl;
								a14=1;
								lenb1=0;
							}
							else if(c==3&&lenb2==4){
								cout<<"对方使用了二技能你的生命-15\n";
								minb-=15;
								cout<<"你的生命:"<<mina<<endl;
								a15=1;
								lenb2=0;
							}
							else if(c==3&&lenb3==7){
								cout<<"对方使用了大招你的生命-40\n";
								minb-=40;
								cout<<"你的生命:"<<mina<<endl;
								a16=1;
								lenb3=0;
							}
							else{
								cout<<"对方使用了普攻你的生命-5\n";
								mina-=5; 
								cout<<"你的生命:"<<mina<<endl;
							}
							if(a14==1){
								lenb1++;
							}
							if(a15==1){
								lenb2++;
							}
							if(a16==1){
								lenb3++;
							}
							if(jiu1>0){
								if(mina<=10){
									cout<<"你有一个急救包是否使用?\n";
									string a17;
									cin>>a17;
									if(a17=="是"){
										cout<<"使用成功\n";
										mina+=10;
										cout<<"你的生命:"<<mina<<endl;
										jiu1--;
										Sleep(500);
										system("cls");
									}
								}
							}
							cout<<"请选择你要用的技能\n";
							int a9,a11=0,a12=0,a13=0;
							cin>>a9;
							if(a9==1){
								cout<<"你使用了普攻对方生命-"<<ji1<<endl; 
								minb-=ji1;
								cout<<"对方生命"<<minb<<endl;
							}
							if(a9==2&&lena1>=3){
								cout<<"你使用了一技能对方生命-"<<ji2<<endl;
								minb-=ji1;
								cout<<"对方生命"<<minb<<endl; 
								lena1=0;
								a11=1;
							}
							if(a11=1){
								lena1++;
							}
							if(a9==3&&lena2>=4){
								cout<<"你使用了二技能对方生命-"<<ji3<<endl;
								minb-=ji3;
								lena2=0;
								a12=1;
							}
							if(a12==1){
								lena2++;
							}
							if(a9==4&&lena3>=7){
								cout<<"你使用了大招对方生命-"<<ji4<<endl;
								minb-=ji4;
								lena3=0;
								a13=1;
							}
							if(a13==1){
								lena3++;
							}
							if(jiu2>0){
								cout<<"对方使用了急救包生命+10\n";
								minb+=10;
								cout<<"对方生命"<<minb<<endl;
								jiu2--;
							}
						}
						Sleep(1000);
						system("cls");
					}
				}
			}
		if(a2==2){
			cout<<"你的钱:"<<cnt2<<endl;
			cout<<"1.皮卡丘-200金币\n";
			cout<<"2.小火龙-200金币\n";
			cout<<"3.杰尼龟-200金币\n";
			cout<<"4.妙蛙种子-200金币\n";
			cout<<"5.裂空座-1000金币\n";
			cout<<"6.超梦-非卖品(测试使用)\n"; 
			cout<<"请选购\n";
			int a6;
			cin>>a6;
			if(a6==1&&cnt2>=200){
				cout<<"购买成功\n";
				cout<<"恭喜获得皮卡丘\n";
				cnt2-=200;
				ab[5]=1;
				system("cls");
				Sleep(500);
			}
			if(a6==2&&cnt2>=200){
				cout<<"购买成功\n";
				cout<<"恭喜获得小火龙\n";
				cnt2-=200;
				ab[1]=1;
				system("cls");
				Sleep(500);
			}
			if(a6==3&&cnt2>=200){
				cout<<"购买成功\n";
				cout<<"恭喜获得杰尼龟\n";
				cnt2-=200;
				ab[2]=1;
				system("cls");
				Sleep(500);
			}
			if(a6==4&&cnt2>=200){
				cout<<"购买成功\n";
				cout<<"恭喜获得妙蛙种子\n";
				cnt2-=200;
				ab[3]=1;
				system("cls");
				Sleep(500);
			}
			if(a6==5&&cnt2>=1000){
				cout<<"购买成功\n";
				cout<<"恭喜获得裂空座\n";
				cnt2-=1000;
				ab[8]=1;
				system("cls");
				Sleep(500);
			}
			if(a6==6){
				int virgo=0;
				cout<<"密码:";
				cin>>virgo;
				if(virgo==5963){
					cout<<"正确!!!"<<endl;
					ab[9]=1;
					cout<<"恭喜获得超梦\n";
				}
				else{
					cout<<"错误!!!"<<endl; 
				}
				Sleep(500);
				system("cls");
			} 
			else{
				system("cls");
			}
		}
		if(xx>10){
			cout<<"超出范围"<<endl;
			if(MessageBox(NULL,"是否回到主页面???","询问",MB_YESNO)==IDYES){
				system("cls"); 
			}
			else{
				return 0;
			} 
		}	
	}
}
}

制作不易,希望大家三连,谢谢。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/369026.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python 爬虫安装http请求库

我的是window环境&#xff0c;安装的python3&#xff0c;如果再linux环境&#xff1a;pip install requests 开始&#xff1a; 上面我们成功发送请求并获取到响应&#xff0c;现在需要解析html或xml获取数据&#xff0c;因此我使用现成的工具库Beautiful Soup

【用Unity开发一款横板跳跃游戏部分需要学习的技术点指南】

*** 用Unity开发一款横板跳跃游戏部分需要学习的技术点指南 空洞骑士是一款基于横板平台跳跃的传统风格2D动作冒险游戏&#xff0c;庞大的游戏世界交错相通&#xff0c;玩家控制小虫子去探索幽深黑暗的洞穴&#xff0c;成为了一代人茶余饭后的惦念&#xff0c;深受玩家喜爱。 …

AI新宠Arc浏览器真可以取代Chrome吗?

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

整理:汉诺塔简析

大体上&#xff0c;要解决一个汉诺塔问题&#xff0c;就需要解决两个更简单的汉诺塔问题 以盘子数量 3 的汉诺塔问题为例 要将 3 个盘子从 A 移动到 C&#xff0c;就要&#xff1a; 将两个盘子从 A 移动到 B&#xff08;子问题 1&#xff09; 为了解决子问题 1&#xff0c;就…

Leetcode—2881. 创建新列【简单】

2024每日刷题&#xff08;一零九&#xff09; Leetcode—2881. 创建新列 实现代码 import pandas as pddef createBonusColumn(employees: pd.DataFrame) -> pd.DataFrame:employees[bonus] employees[salary] * 2return employees 运行结果 之后我会持续更新&#xf…

给mysql设置时区

每次重启MySQL服务器后&#xff0c;使用IDEA的database navigator连接都会出现这种情况 解决方式就是 命令行登录后 set global time_zone 8:00;嘿嘿把之前自家简书文章 给mysql设置时区 搬运过来了&#xff0c;方便查阅

[基础IO]文件描述符{重定向/perror/磁盘结构/inode/软硬链接}

文章目录 1. 再识重定向2.浅谈perror()3.初始文件系统4.软硬链接 1. 再识重定向 图解./sf > file.txt 2>&1 1中内容拷贝给2 使得2指向file 再学一个 把file的内容传给cat cat拿到后再给file2 2.浅谈perror() open()接口调用失败返回-1,并且错误码errno被适当的设置,…

详解SkyWalking前端监控的性能指标

SkyWalking 从8.2.0版本开始支持对前端浏览器端的性能进行监控&#xff0c;不仅可以像以前一样监控浏览器发送给后端服务的与请求&#xff0c;还能看到前端的渲染速度、错误日志等信息——这些信息是获取最终用户体验的最有效指标。实现的方式是引入skywalking-client-js库&…

二叉树可视化

二叉树可视化 运行演示代码和程序已上传二叉树知识平衡二叉树红黑树最优二叉搜索树哈夫曼树KD树B树和B树 参考 运行演示 学习二叉树总是脑补图像&#xff0c;实在是恶心&#xff0c;就想写一个能可视化的二叉树&#xff0c;结果没控制好&#xff0c;功能越想越多&#xff0c;先…

【Linux】Linux 开发工具(vim、gcc/g++、make/Makefile)+【小程序:进度条】-- 详解

我们在 Windows 中编写 C/C 程序时&#xff0c;常用的 VS2019 是一个集成开发环境&#xff0c;包含了很多工具包。而在 Linux 下开发&#xff0c;大部分的情况下都是使用一个个独立的工具。比如&#xff1a;编写代码用 vim&#xff0c;编译代码用 gcc&#xff0c;调试代码用 gd…

异步编程Completablefuture使用详解----进阶篇

JDK版本&#xff1a;jdk17 IDEA版本&#xff1a;IntelliJ IDEA 2022.1.3 文章目录 前言一、异步任务的交互1.1 applyToEither1.2 acceptEither1.3 runAfterEither 二、get() 和 join() 区别三、ParallelStream VS CompletableFuture3.1 使用串行流执行并统计总耗时3.2 使用并行…

《幻兽帕鲁》开荒最强帕鲁推荐!轻松拿下各种BOSS 幻兽帕鲁爆火 幻兽帕鲁2月服务器费用7000万 幻兽帕鲁图鉴

最近一款叫做《幻兽帕鲁》的新游戏走红&#xff0c;成为了Steam游戏平台上&#xff0c;连续3周的销量冠军&#xff0c;有不少Mac电脑用户&#xff0c;利用CrossOver成功玩上了《幻兽帕鲁》&#xff0c;其实CrossOver已经支持很多3A游戏&#xff0c;包括《赛博朋克2077》《博德之…

Ps:自动对齐图层

Ps菜单&#xff1a;编辑/自动对齐图层 Edit/Auto-Align Layers 自动对齐图层 Auto-Align Layers命令通过分析选中图层上的图像&#xff0c;识别出图像间的共同特征点&#xff08;如边缘、纹理或特定标记等&#xff09;&#xff0c;然后基于这些特征点变换&#xff08;移动、旋转…

python 爬虫篇(2)---->re正则实战豆瓣读书爬取(附带源码)

re正则实战—豆瓣读书爬取 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 re正则实战---豆瓣读书爬取前言一、准备工具二、构建请求头三、请求数据四、解析数据五、保存数据总结(源码)前言 大家好,今天我们来写一个豆瓣读书的爬虫程序,我会只用…

ProcessSlot构建流程分析

ProcessorSlot ProcessorSlot构建流程 // com.alibaba.csp.sentinel.CtSph#lookProcessChain private Entry entryWithPriority(ResourceWrapper resourceWrapper, int count, boolean prioritized, Object... args)throws BlockException {// 省略创建 Context 的代码// 黑盒…

Rust 第一个rust程序Hello Rust️

文章目录 前言一、vscode 安装rust相关插件二、Cargo New三、vscode调试rustLLDB 前言 Rust学习系列。今天就让我们掌握第一个rust程序。Hello Rust &#x1f980;️。 在上一篇文章我们在macOS成功安装了rust。 一、vscode 安装rust相关插件 以下是一些常用的 Rust 开发插件…

Axure RP 网页版,让原型设计更高效

交互神器Axure RP是一种专业的快速原型设计工具&#xff0c;但Axure在用户体验上的缺陷也很明显。其设置交互方式相对繁琐&#xff0c;可视化不足、条件判断、变量、中继器等功能的使用需要陡峭的学习曲线。许多设计师正在寻找一个可以取代Axure的原型设计工具&#xff0c;即时…

Python IDE——PyCharm的下载与安装(2024)

目录 一、Python开发工具 二、下载PyCharm 三、安装PyCharm 四、使用PyCharm 一、Python开发工具 Python解释器捆绑了Python的官方开发工具——IDLE(Integrated Development and Learning Environment&#xff0c;集成开发和学习环境)。IDLE具备集成开发环境&#xff08;I…

MySQL 小技巧:xtrabackup 软件包的下载及安装

案例&#xff1a;xtrabackup 软件包的下载及安装 软件包下载&#xff1a;Index of /percona/centos/7/RPMS/x86_64/ CentOS7 默认的数据库版本比较老,因此建议使用 xtrabackup 2.4 版本 // CentOS7 默认的数据库版本比较老,因此建议使用 xtrabackup 2.4 版本 // 安装 CentOS7 默…

vue3 之 组合式API—reactive和ref函数

ref&#xff08;&#xff09; 作用&#xff1a;接收简单类型或者对象类型的数据传入并返回一个响应式的对象 核心步骤&#xff1a; 1️⃣ 从 vue 包中导入 ref 函数 2️⃣在 <script setup>// 导入import { ref } from vue// 执行函数 传入参数 变量接收const count …