自己制作的小游戏,请诸位大佬指正
  • 板块灌水区
  • 楼主Moonlit
  • 当前回复5
  • 已保存回复5
  • 发布时间2024/3/21 22:37
  • 上次更新2024/3/22 09:23:29
查看原帖
自己制作的小游戏,请诸位大佬指正
414369
Moonlit楼主2024/3/21 22:37

1.消灭星星

#include<bits/stdc++.h>
#include<windows.h>
#include<time.h>
using namespace std;
int input=0,coin=100,chuizi=2,cp=1,again=0,play[11][11],ceshi[11][11],guanka=-1,aa,bb,cc,dd,ee,sjhang,sjlie,mubiao=0,guanqianzongfen=0,guankazongfen=0,jsq=0,jiafen=0,finishjiafen=0,jihuo=0;
string jihuoma;
void shop_chuizi();
void shop_cp();
int start();
bool ended();
void outputed();
void inputed();
void search(int,int);
void falldown();
bool onefalse(int,int);
int main()
{
	srand(time(NULL));
	HANDLE consolehwnd;//创建句柄
	consolehwnd=GetStdHandle(STD_OUTPUT_HANDLE);//实例化句柄
	while(1)
	{
		system("cls");
		SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_BLUE);
		cout<<"Welcome to pop star!\n1.开始\n2.商城\n3.我的\n4.继续\n5.清空历史\n";
		cin>>input;
		while(input!=1&&input!=2&&input!=3&&input!=4&&input!=5&&input!=6)
		{
			system("cls");
			SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_RED);
			cout<<"Welcome to pop star!\n1.开始\n2.商城\n3.我的\n4.继续\n5.清空历史\n";
			cin>>input;
		}
		if(input==2)
		{
			system("cls");
			SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_BLUE);
			cout<<"Welcome to pop star store!You can buy what you want to buy!\n你有:"<<coin<<"个金币。\n1.锤子:30个金币\n2.积分翻倍器:80个金币\n3.返回\n";
			cin>>input;
			while(input!=1&&input!=2&&input!=3)
			{
				system("cls");
				SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_RED);
				cout<<"Welcome to pop star store!You can buy what you want to buy!\n你有:"<<coin<<"个金币。\n1.锤子:30个金币\n2.积分翻倍器:80个金币\n3.返回\n";
				cin>>input;
			}
			if(input==1)
			{
				shop_chuizi();
				continue;
			}
			if(input==2)
			{
				shop_cp();
				continue;
			}
			if(input==3)
				continue;
		}
		if(input==3)
		{
			system("cls");
			SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_BLUE);
			cout<<"现在你有:\n"<<chuizi<<"个锤子,\n"<<cp<<"个积分翻倍器,\n"<<coin<<"个金币!\n1.返回";
			cin>>input;
			while(input!=1)
			{
				system("cls");
				SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_RED);
				cout<<"现在你有:\n"<<chuizi<<"个锤子,\n"<<cp<<"个积分翻倍器,\n"<<coin<<"个金币!\n1.返回";
				cin>>input;
			}
			continue;
		}
		if(input==1)
		{
			guanka=-1;
			start();
			if(sjhang=-1)
			{
				again=0;
				guanka--;
			}
		}
		if(input==4)
		{
			if(guanka==-1)
			{
				system("cls");
				SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_RED);
				cout<<"你还没有进行过游戏!";
				Sleep(1000);
				continue;
			}
			else
			{
				again=0;
				guanka--;
				start();
				if(sjhang=-1)
				{
					again=0;
					guanka--;
				}
			}
		}
		if(input==5)
		{
			SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
			system("cls");
			cout<<"删除记录中";
			for(int i=0; i<6; ++i)
			{
				cout<<'.';
				Sleep(300);
			}
			guanka=-1,guanqianzongfen=0,guankazongfen=0;
			system("cls");
			cout<<"删除成功!";
			Sleep(1000);
		}
		if(input==6)
		{
			system("cls");
			SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
			cout<<"激活码:";
			cin>>jihuoma;
			if(jihuoma=="activation"||jihuoma=="!!!"||jihuoma=="pop"||jihuoma=="666"||jihuoma=="star")
			{
				jihuo=1;
				cout<<"激活成功!";
				Sleep(1000);
			}
			else
			{
				cout<<"激活失败!";
				Sleep(1000);
			}
		}
	}
	return 0;
}
void shop_chuizi()
{
	HANDLE consolehwnd;//创建句柄
	consolehwnd=GetStdHandle(STD_OUTPUT_HANDLE);//实例化句柄
	if(coin<30)
	{
		system("cls");
		SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_RED);
		cout<<"金币不足!";
		Sleep(800);
	}
	else
	{
		coin-=30,chuizi++;
		system("cls");
		SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_BLUE);
		cout<<"成功购买了一个锤子,现在你有"<<chuizi<<"个锤子。\n你还有"<<coin<<"个金币!";
		Sleep(1000);
	}
	system("cls");
	SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_BLUE);
	cout<<"你有:"<<coin<<"个金币。\n1.锤子:30个金币\n2.积分翻倍器:80个金币\n3.返回\n";
	cin>>input;
	while(input!=1&&input!=2&&input!=3)
	{
		system("cls");
		SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_RED);
		cout<<"你有:"<<coin<<"个金币。\n1.锤子:30个金币\n2.积分翻倍器:80个金币\n3.返回\n";
		cin>>input;
	}
	if(input==1)
		shop_chuizi();
	if(input==2)
		shop_cp();
	if(input==3);
}
void shop_cp()
{
	HANDLE consolehwnd;//创建句柄
	consolehwnd=GetStdHandle(STD_OUTPUT_HANDLE);//实例化句柄
	if(coin<80)
	{
		system("cls");
		SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_RED);
		cout<<"金币不足!";
		Sleep(800);
	}
	else
	{
		coin-=80,cp++;
		system("cls");
		SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_BLUE);
		cout<<"成功购买了一个积分翻倍器,现在你有"<<cp<<"个积分翻倍器。\n你还有"<<coin<<"个金币!";
		Sleep(1000);
	}
	system("cls");
	SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_BLUE);
	cout<<"你有:"<<coin<<"个金币。\n1.锤子:30个金币\n2.积分翻倍器:80个金币\n3.返回\n";
	cin>>input;
	while(input!=1&&input!=2&&input!=3)
	{
		system("cls");
		SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_RED);
		cout<<"你有:"<<coin<<"个金币。\n1.锤子:30个金币\n2.积分翻倍器:80个金币\n3.返回\n";
		cin>>input;
	}
	if(input==1)
		shop_chuizi();
	if(input==2)
		shop_cp();
	if(input==3);
}
int start()
{
	if(guanka==-1)
		++guanka,guanqianzongfen=0,again=0;
	guanqianzongfen=guankazongfen;
	HANDLE consolehwnd;//创建句柄
	consolehwnd=GetStdHandle(STD_OUTPUT_HANDLE);//实例化句柄
	while(again==0)
	{
		SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_BLUE);
		system("cls");
		++guanka;
		cout<<"第"<<guanka<<"关。";
		Sleep(1000);
		for(int i=0; i<11; ++i)
		{
			for(int j=0; j<11; ++j)
			{
				play[i][j]=0,ceshi[i][j]=0;
			}
		}
		aa=rand()%50+1,bb=rand()%50+1,cc=rand()%50+1,dd=rand()%50+1,ee=rand()%50+1;
		while(aa+bb+cc+dd+ee>50)
		{
			if(aa>1)
				aa--;
			if(bb>1)
				bb--;
			if(cc>1)
				cc--;
			if(dd>1)
				dd--;
			if(ee>1)
				ee--;
		}
		ee+=(50-aa-bb-cc-dd-ee),aa*=2,bb*=2,cc*=2,dd*=2,ee*=2;
		if(jihuo==1)
		{
			aa=0,bb=0,cc=0,dd=0,ee=100;
		}
		for(int i=0; i<aa; ++i)
		{
			sjhang=rand()%10+1,sjlie=rand()%10+1;
			while(play[sjhang][sjlie]!=0)
				sjhang=rand()%10+1,sjlie=rand()%10+1;
			play[sjhang][sjlie]=1;
		}
		for(int i=0; i<bb; ++i)
		{
			sjhang=rand()%10+1,sjlie=rand()%10+1;
			while(play[sjhang][sjlie]!=0)
				sjhang=rand()%10+1,sjlie=rand()%10+1;
			play[sjhang][sjlie]=2;
		}
		for(int i=0; i<cc; ++i)
		{
			sjhang=rand()%10+1,sjlie=rand()%10+1;
			while(play[sjhang][sjlie]!=0)
				sjhang=rand()%10+1,sjlie=rand()%10+1;
			play[sjhang][sjlie]=3;
		}
		for(int i=0; i<dd; ++i)
		{
			sjhang=rand()%10+1,sjlie=rand()%10+1;
			while(play[sjhang][sjlie]!=0)
				sjhang=rand()%10+1,sjlie=rand()%10+1;
			play[sjhang][sjlie]=4;
		}
		for(int i=0; i<ee; ++i)
		{
			sjhang=rand()%10+1,sjlie=rand()%10+1;
			while(play[sjhang][sjlie]!=0)
				sjhang=rand()%10+1,sjlie=rand()%10+1;
			play[sjhang][sjlie]=5;
		}
		jihuo=0;
		cout<<"\n正在准备棋盘";
		for(int i=0; i<6; ++i)
		{
			cout<<'.';
			Sleep(300);
		}
		mubiao=guanka*5000;
		for(int i=0; i<guanka; ++i)
			for(int j=0; j<=i; ++j)
				mubiao+=1000;
		while(ended()==true)
		{
			system("cls");
			jsq=0,jiafen=0,finishjiafen=0;
			inputed();
			if(sjhang!=-1)
			{
				if(input==1)
				{
					chuizi--;
					jiafen+=10;
					play[sjhang][sjlie]=0;
				}
				else if(input>1)
				{
					search(sjhang,sjlie);
					for(int k=1; k<11; ++k)
					{
						for(int l=1; l<11; ++l)
						{
							if(ceshi[k][l]==1)
							{
								play[k][l]=0;
								jsq++;
							}
						}
					}
					if(input==2)
					{
						cp--;
						jiafen+=15*jsq;
						for(int i=2; i<=jsq; ++i)
							jiafen+=10*i;
					}
					jiafen+=15*(jsq-1);
					for(int i=2; i<jsq; ++i)
						jiafen+=10*i;
				}
				falldown();
				system("cls");
				SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_BLUE);
				cout<<"第"<<guanka<<"关——要求分数:"<<mubiao<<'\n';
				outputed();
				SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE);
				cout<<"当前分数:"<<guanqianzongfen<<'+'<<jiafen;
				guanqianzongfen+=jiafen;
				Sleep(1000);
				for(int i=0; i<11; ++i)
					for(int j=0; j<11; ++j)
						ceshi[i][j+1]=0;
			}
			else
			{
				again=1;
				guanka++;
			break;
			}
		}
		if(guanqianzongfen>=mubiao&&sjhang!=-1)
		{
			system("cls");
			SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
			cout<<"恭喜你,过关了!\n";
			Sleep(1000);
			for(int i=1; i<=10; ++i)
				for(int j=1; j<=10; ++j)
					if(play[i][j]!=0)
						finishjiafen++;
			finishjiafen=2000-finishjiafen*200;
			if(finishjiafen<0)
				finishjiafen=0;
			guanqianzongfen+=finishjiafen;
			cout<<"剩余星星加分:"<<finishjiafen<<'\n';
			Sleep(1000);
			guankazongfen=guanqianzongfen;
			cout<<"过关金币奖励:30\n";
			Sleep(1000);
			cout<<"超分奖励金币:"<<(guankazongfen-mubiao)/200;
			Sleep(1000);
			coin=coin+30+(guankazongfen-mubiao)/200;
		}
		else if(sjhang!=-1)
		{
			system("cls");
			SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
			cout<<"你输了!\n";
			Sleep(1000);
			cout<<"Again?:0";
			cin>>again;
			if(again==0)
			{
				guanka--;
				guanqianzongfen=0;
			}
		}
	}
}
bool ended()
{
	for(int i=1; i<=10; ++i)
	{
		for(int j=0; j<=10; ++j)
		{
			if(play[i][j]==play[i-1][j]&&play[i][j]!=0||play[i][j]==play[i+1][j]&&play[i][j]!=0||play[i][j]==play[i][j-1]&&play[i][j]!=0||play[i][j]==play[i][j+1]&&play[i][j]!=0)
				return true;
		}
	}
	return false;
}
bool onefalse(int i,int j)
{
	if(play[i][j]==play[i-1][j]&&play[i][j]!=0||play[i][j]==play[i+1][j]&&play[i][j]!=0||play[i][j]==play[i][j-1]&&play[i][j]!=0||play[i][j]==play[i][j+1]&&play[i][j]!=0)
		return true;
	return false;
}
void outputed()
{
	HANDLE consolehwnd;//创建句柄
	consolehwnd=GetStdHandle(STD_OUTPUT_HANDLE);//实例化句柄
	for(int i=0; i<11; ++i)
	{
		if(i==0)
		{
			SetConsoleTextAttribute(consolehwnd,13);
			for(int k=0; k<11; ++k)
			{
				cout<<setw(2)<<k;
			}
			cout<<'\n';
			continue;
		}
		for(int j=0; j<11; ++j)
		{
			if(j==0)
			{
				SetConsoleTextAttribute(consolehwnd,13);
				cout<<setw(2)<<i;
				continue;
			}
			if(play[i][j]==0)
			{
				SetConsoleTextAttribute(consolehwnd,0);
			}
			if(play[i][j]==1)
			{
				SetConsoleTextAttribute(consolehwnd,153);
			}
			if(play[i][j]==2)
			{
				SetConsoleTextAttribute(consolehwnd,170);
			}
			if(play[i][j]==3)
			{
				SetConsoleTextAttribute(consolehwnd,187);
			}
			if(play[i][j]==4)
			{
				SetConsoleTextAttribute(consolehwnd,204);
			}
			if(play[i][j]==5)
			{
				SetConsoleTextAttribute(consolehwnd,238);
			}
			cout<<play[i][j]<<' ';
		}
		cout<<'\n';
	}
}
void inputed()
{
	HANDLE consolehwnd;//创建句柄
	consolehwnd=GetStdHandle(STD_OUTPUT_HANDLE);//实例化句柄
	SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_BLUE);
	cout<<"第"<<guanka<<"关——要求分数:"<<mubiao<<'\n';
	input=3;
	outputed();
	SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_BLUE);
	cout<<"当前分数:"<<guanqianzongfen<<"\n行:(0可以使用道具)";
	cin>>sjhang;
	while(sjhang>10||sjhang<-1)
	{
		system("cls");
		cout<<"第"<<guanka<<"关——要求分数:"<<mubiao<<'\n';
		outputed();
		SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_RED);
		cout<<"当前分数:"<<guanqianzongfen<<"\n行:(0可以使用道具)";
		cin>>sjhang;
	}
	if(sjhang==0)
	{
		if(chuizi>0&&cp==0)
		{
			SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_BLUE);
			cout<<"由于你只有锤子,所以你现在正在使用锤子。\n";
			Sleep(1000);
			system("cls");
			input=1;
		}
		else if(chuizi==0&&cp>0)
		{
			SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_BLUE);
			cout<<"由于你只有积分翻倍器,所以你现在正在使用积分翻倍器。\n";
			Sleep(1000);
			system("cls");
			input=2;
		}
		else if(chuizi==0&&cp==0)
		{
			SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_RED);
			cout<<"你没有任何道具!\n";
			Sleep(1000);
			system("cls");
			input=-1;
		}
		else
		{
			SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_BLUE);
			cout<<"请选择你需要的道具:\n1.锤子\n2.积分翻倍器\n";
			cin>>input;
			while(input<1||input>2)
			{
				system("cls");
				cout<<"第"<<guanka<<"关——要求分数:"<<mubiao<<'\n';
				outputed();
				SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_RED);
				cout<<"请选择你需要的道具:\n1.锤子\n2.积分翻倍器\n";
				cin>>input;
			}
		}
		if(!(chuizi==0&&cp==0))
		{
			system("cls");
			SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_BLUE);
			cout<<"第"<<guanka<<"关——要求分数:"<<mubiao<<'\n';
			outputed();
			SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_BLUE);
			cout<<"正在使用道具。";
			cout<<"当前分数:"<<guanqianzongfen<<"\n行:";
			cin>>sjhang;
			while(sjhang>10||sjhang<1)
			{
				system("cls");
				cout<<"第"<<guanka<<"关——要求分数:"<<mubiao<<'\n';
				outputed();
				SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_RED);
				cout<<"当前分数:"<<guanqianzongfen<<"\n行:";
				cin>>sjhang;
			}
		}
	}
	if(input!=-1&&sjhang!=-1)
	{
		SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_BLUE);
		cout<<"列:";
		cin>>sjlie;
		while(sjlie>10||sjlie<1)
		{
			SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_RED);
			cout<<"无效的输入!请重新输入!\n";
			cin>>sjlie;
		}
		if(play[sjhang][sjlie]==0||onefalse(sjhang,sjlie)==false&&input!=1)
		{
			system("cls");
			cout<<"无效的输入!";
			Sleep(1000);
			system("cls");
			inputed();
		}
	}
}
void search(int i,int j)
{
	ceshi[i][j]=1;
	if(i>0&&i<11&&j>0&&j<11)
	{
		if(play[i][j]==play[i-1][j]&&ceshi[i-1][j]==0)
		{
			search(i-1,j);
		}
		if(play[i][j]==play[i+1][j]&&ceshi[i+1][j]==0)
		{
			search(i+1,j);
		}
		if(play[i][j]==play[i][j-1]&&ceshi[i][j-1]==0)
		{
			search(i,j-1);
		}
		if(play[i][j]==play[i][j+1]&&ceshi[i][j+1]==0)
		{
			search(i,j+1);
		}
	}
}
void falldown()
{
	HANDLE consolehwnd;//创建句柄
	consolehwnd=GetStdHandle(STD_OUTPUT_HANDLE);//实例化句柄
	for(int j=1; j<=10; ++j)
		for(int k=1; k<10; ++k)
			for(int i=10; i>1; --i)
				if(play[i][j]==0&&play[i-1][j]!=0)
				{
					play[i][j]=play[i-1][j];
					play[i-1][j]=0;
					system("cls");
					cout<<"------------------------------\n";
					outputed();
					SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_BLUE);
				}
	Sleep(1000);
	for(int k=1; k<10; ++k)
	{
		for(int j=1; j<10; ++j)
		{
			if(play[10][j]==0)
			{
				for(int i=1; i<=10; ++i)
				{
					play[i][j]=play[i][j+1];
					play[i][j+1]=0;
					outputed;
					SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_BLUE);
				}
			}
		}
	}
}

2.扫雷

#include<conio.h>
#include<stdlib.h>
#include<windows.h>
#include<bits/stdc++.h>
using namespace std;
int again=0,hang,lie,lei,jsq,sjhang,sjlie,cj[40][40],i,j,k,ms=0,sum=0,lose=0;
char tmp[40][40],play[40][40],input;
void space(int i,int j);
void moshi();
int main()
{
	HANDLE consolehwnd;//创建句柄
	consolehwnd=GetStdHandle(STD_OUTPUT_HANDLE);//实例化句柄
	srand(time(NULL));
	while(again==0)
	{
		system("cls");//20
		SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_BLUE);
		cout<<"welcome to minesweeper!\n初级:10X10,10个雷:1\n中级:16X16,40个雷:2\n高级:16X30,99个雷:3\n自定义:其它数字\n";
		cin>>jsq;
		if(jsq==1)hang=10,lie=10,lei=10;
		else if(jsq==2)hang=16,lie=16,lei=40;
		else if(jsq==3)hang=16,lie=30,lei=99;
		else
		{
			system("cls");
			cout<<"行数:";
			cin>>hang;
			cout<<"列数:";
			cin>>lie;
			cout<<"雷数:";
			cin>>lei;
			if(hang<9)hang=9;
			if(hang>24)hang=24;
			if(lie<9)lie=9;
			if(lie>30)lie=30;
			if(lei>688)lei=688;
			if(lei<10)lei=10;
			if(lei<hang*lie/72)lei=hang*lie/72;
			if(lei>hang*lie*9/10)lei=hang*lie*9/10;//变量的准备
		}
		cout<<"开启开局作弊?开:1,关:0\n";
		cin>>jsq;
		cout<<"------------------------------\n";
		for(i=0; i<hang+1; ++i)//22
		{
			for(j=0; j<lie+1; ++j)
			{
				tmp[i][j]='0';
			}
		}//初始化地图为0
		for(i=0; i<lei; ++i)//39
		{
			sjhang=rand()%hang+1,sjlie=rand()%lie+1;
			while(tmp[sjhang][sjlie]=='*')
			{
				sjhang=rand()%hang+1,sjlie=rand()%lie+1;
			}
			tmp[sjhang][sjlie]='*';
		}//随机设置雷
		for(i=1; i<=hang; ++i) //54
		{
			for(j=1; j<=lie; ++j)
			{
				if(tmp[i  ][j  ]=='*')continue;
				if(tmp[i-1][j-1]=='*')tmp[i][j]++;
				if(tmp[i-1][j  ]=='*')tmp[i][j]++;
				if(tmp[i-1][j+1]=='*')tmp[i][j]++;
				if(tmp[i  ][j+1]=='*')tmp[i][j]++;
				if(tmp[i+1][j+1]=='*')tmp[i][j]++;
				if(tmp[i+1][j  ]=='*')tmp[i][j]++;
				if(tmp[i+1][j-1]=='*')tmp[i][j]++;
				if(tmp[i  ][j-1]=='*')tmp[i][j]++;
			}
		}//数字
		for(i=1; i<=hang; ++i) //69
		{
			for(j=1; j<=lie; ++j)
			{
				if(tmp[i][j]=='0')
				{
					tmp[i][j]=' ';
				}
			}
		}//空格
		for(i=1; i<=hang; ++i)
		{
			for(j=1; j<=lie; ++j)
			{
				play[i][j]=(char)30;
			}
		}
		//begin
		SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_GREEN);
		cout<<"正在准备棋盘.";
		Sleep(1000/3);
		cout<<".";
		Sleep(1000/3);
		cout<<".";
		Sleep(1000/3);
		cout<<".";
		Sleep(1000/3);
		cout<<".";
		Sleep(1000/3);
		cout<<".";
		Sleep(1000/3);
		if(jsq==1)
		{
			cout<<"\n正在进行作弊.";
			Sleep(1000/3);
			cout<<".";
			Sleep(1000/3);
			cout<<".";
			Sleep(1000/3);
			cout<<".";
			Sleep(1000/3);
			cout<<".";
			Sleep(1000/3);
			cout<<".";
			Sleep(1000/3);
			sjhang=rand()%hang+1,sjlie=rand()%lie+1;
			jsq=0;
			while(tmp[sjhang][sjlie]!=' '&&jsq<hang*lie)
			{
				sjhang=rand()%hang+1,sjlie=rand()%lie+1;
				jsq++;
			}
			while(tmp[sjhang][sjlie]=='*')
			{
				sjhang=rand()%hang+1,sjlie=rand()%lie+1;
				jsq++;
			}
			play[sjhang][sjlie]=tmp[sjhang][sjlie];
			if(jsq<hang*lie||jsq==hang*lie)
			space(sjhang,sjlie);
		}
		while(jsq!=lei)
		{
			system("cls");
			jsq=0,sum=0;
			for(i=0; i<=hang; ++i)//484
			{
				if(i==0)
				{
					SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_RED);
					cout<<' ';
					for(k=0; k<=lie; ++k)
					{
						if(k<10)cout<<k<<' ';
						else cout<<k;
					}
					cout<<'\n';
					continue;
				}
				for(j=0; j<=lie; ++j)
				{
					if(j==0)
					{
						SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_RED);
						cout<<setw(2)<<i<<' ';
						SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
						continue;
					}
					if(play[i][j]==(char)30||play[i][j]==(char)19)jsq++;
					if(play[i][j]==(char)30||play[i][j]==' ')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
					if(play[i][j]==(char)19)SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED);
					if(play[i][j]=='1')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);
					if(play[i][j]=='2')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN);
					if(play[i][j]=='3')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
					if(play[i][j]=='4')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_BLUE);
					if(play[i][j]=='5')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_BLUE);
					if(play[i][j]=='6')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE);
					if(play[i][j]=='7')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE);
					if(play[i][j]=='8')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE);
					cout<<play[i][j]<<' ';
					SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
				}
				cout<<'\n';
			}//输出
			if(jsq==lei)//501
			{
				Sleep(1000);
				system("cls");
				for(i=1; i<=hang; ++i)
				{
					for(j=1; j<=lie; ++j)
					{
						if(tmp[i][j]=='*')
						{
							SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_RED);
							play[i][j]='*';
						}
						else
						{
							if(play[i][j]==(char)30||play[i][j]==' ')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
							if(play[i][j]==(char)19)SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED);
							if(play[i][j]=='1')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);
							if(play[i][j]=='2')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN);
							if(play[i][j]=='3')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
							if(play[i][j]=='4')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_BLUE);
							if(play[i][j]=='5')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_BLUE);
							if(play[i][j]=='6')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE);
							if(play[i][j]=='7')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE);
							if(play[i][j]=='8')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE);
						}
						cout<<play[i][j]<<' ';
						SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
					}
					cout<<'\n';
				}
				SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
				cout<<"You win.\nagain:0\n";
				cin>>again;
				continue;
			}//胜利条件
			sjhang=0,sjlie=0,ms=0,lose=0,sum=0;
			cout<<"当前模式:开方块模式\n";
			cout<<"行数:(切换模式请按A。)";
			while(sjhang%10==0)
			{
				input=getch();
				if(input=='A'||input=='a')
				{
					ms=1;
					moshi();
					break;
				}
				if(input=='/')
				{
					if(sjhang!=0)
					{
						cout<<'\n';
						break;
					}
					else continue;
				}
				if(input=='0')
				{
					sjhang+=10;
					cout<<"+10";
				}
				if(input=='1')
				{
					sjhang+=1;
					cout<<"+1\n";
				}
				if(input=='2')
				{
					sjhang+=2;
					cout<<"+2\n";
				}
				if(input=='3')
				{
					sjhang+=3;
					cout<<"+3\n";
				}
				if(input=='4')
				{
					sjhang+=4;
					cout<<"+4\n";
				}
				if(input=='5')
				{
					sjhang+=5;
					cout<<"+5\n";
				}
				if(input=='6')
				{
					sjhang+=6;
					cout<<"+6\n";
				}
				if(input=='7')
				{
					sjhang+=7;
					cout<<"+7\n";
				}
				if(input=='8')
				{
					sjhang+=8;
					cout<<"+8\n";
				}
				if(input=='9')
				{
					sjhang+=9;
					cout<<"+9\n";
				}
			}
			if(ms==1)
				continue;
			while(sjhang>hang)
			{
				cout<<"无效的输入!请重新输入!\n行数:";
				sjhang=0;
				while(sjhang%10==0)
				{
					input=getch();
					if(input=='/')
					{
						if(sjhang!=0)
						{
							cout<<'\n';
							break;
						}
						else continue;
					}
					if(input=='0')
					{
						sjhang+=10;
						cout<<"+10";
					}
					if(input=='1')
					{
						sjhang+=1;
						cout<<"+1\n";
					}
					if(input=='2')
					{
						sjhang+=2;
						cout<<"+2\n";
					}
					if(input=='3')
					{
						sjhang+=3;
						cout<<"+3\n";
					}
					if(input=='4')
					{
						sjhang+=4;
						cout<<"+4\n";
					}
					if(input=='5')
					{
						sjhang+=5;
						cout<<"+5\n";
					}
					if(input=='6')
					{
						sjhang+=6;
						cout<<"+6\n";
					}
					if(input=='7')
					{
						sjhang+=7;
						cout<<"+7\n";
					}
					if(input=='8')
					{
						sjhang+=8;
						cout<<"+8\n";
					}
					if(input=='9')
					{
						sjhang+=9;
						cout<<"+9\n";
					}
				}
			}
			cout<<"列数:";
			while(sjlie%10==0)
			{
				input=getch();
				if(input=='/')
				{
					if(sjlie!=0)
					{
						cout<<'\n';
						break;
					}
					else continue;
				}
				if(input=='0')
				{
					sjlie+=10;
					cout<<"+10";
				}
				if(input=='1')
				{
					sjlie+=1;
					cout<<"+1\n";
				}
				if(input=='2')
				{
					sjlie+=2;
					cout<<"+2\n";
				}
				if(input=='3')
				{
					sjlie+=3;
					cout<<"+3\n";
				}
				if(input=='4')
				{
					sjlie+=4;
					cout<<"+4\n";
				}
				if(input=='5')
				{
					sjlie+=5;
					cout<<"+5\n";
				}
				if(input=='6')
				{
					sjlie+=6;
					cout<<"+6\n";
				}
				if(input=='7')
				{
					sjlie+=7;
					cout<<"+7\n";
				}
				if(input=='8')
				{
					sjlie+=8;
					cout<<"+8\n";
				}
				if(input=='9')
				{
					sjlie+=9;
					cout<<"+9\n";
				}
			}
			while(sjlie>lie)
			{
				cout<<"无效的输入!请重新输入!\n列数:";
				sjlie=0;
				while(sjlie%10==0)
				{
					input=getch();
					if(input=='/')
					{
						if(sjlie!=0)
						{
							cout<<'\n';
							break;
						}
						else continue;
					}
					if(input=='0')
					{
						sjlie+=10;
						cout<<"+10";
					}
					if(input=='1')
					{
						sjlie+=1;
						cout<<"+1\n";
					}
					if(input=='2')
					{
						sjlie+=2;
						cout<<"+2\n";
					}
					if(input=='3')
					{
						sjlie+=3;
						cout<<"+3\n";
					}
					if(input=='4')
					{
						sjlie+=4;
						cout<<"+4\n";
					}
					if(input=='5')
					{
						sjlie+=5;
						cout<<"+5\n";
					}
					if(input=='6')
					{
						sjlie+=6;
						cout<<"+6\n";
					}
					if(input=='7')
					{
						sjlie+=7;
						cout<<"+7\n";
					}
					if(input=='8')
					{
						sjlie+=8;
						cout<<"+8\n";
					}
					if(input=='9')
					{
						sjlie+=9;
						cout<<"+9\n";
					}
				}
			}
			if(play[sjhang][sjlie]==' ')//开前为space
			{
				system("cls");
				cout<<"无效的输入!";
				Sleep(1000);
				continue;
			}
			else if(play[sjhang][sjlie]==(char)30||play[sjhang][sjlie]==(char)19)//开前为未开或者是标的雷
			{
				play[sjhang][sjlie]=tmp[sjhang][sjlie];//赋值
				if(play[sjhang][sjlie]=='*')//799
				{
					system("cls");
					for(i=1; i<=hang; ++i)
					{
						for(j=1; j<=lie; ++j)
						{
							if(tmp[i][j]=='*')
							{
								if(i==sjhang&&j==sjlie)
									SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_RED);
								else
									SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_BLUE);
							}
							else
							{
								if(tmp[i][j]==' ')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
								if(tmp[i][j]==(char)19)SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED);
								if(tmp[i][j]=='1')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);
								if(tmp[i][j]=='2')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN);
								if(tmp[i][j]=='3')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
								if(tmp[i][j]=='4')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_BLUE);
								if(tmp[i][j]=='5')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_BLUE);
								if(tmp[i][j]=='6')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE);
								if(tmp[i][j]=='7')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE);
								if(tmp[i][j]=='8')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE);
							}
							cout<<tmp[i][j]<<' ';
							SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
						}
						cout<<'\n';
					}
					Sleep(1000);
					SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_BLUE);
					cout<<"You lose.\nagain?:0\n";
					cin>>again;
					break;
				}//踩到了雷
				else if(play[sjhang][sjlie]==' ')//806
				{
					space(sjhang,sjlie);
					for(i=0; i<=hang+1; ++i)
						for(j=0; j<=lie+1; ++j)
							cj[i][j]=0;
				}//踩到了空格
			}
			else if(play[sjhang][sjlie]!=' '&&play[sjhang][sjlie]!=(char)19&&play[sjhang][sjlie]!=(char)30)//开前为数字
			{
				jsq=(int)play[sjhang][sjlie]-48;
				if(tmp[sjhang-1][sjlie-1]=='*'&&play[sjhang-1][sjlie-1]==(char)19)sum++;
				if(tmp[sjhang-1][sjlie  ]=='*'&&play[sjhang-1][sjlie  ]==(char)19)sum++;
				if(tmp[sjhang-1][sjlie+1]=='*'&&play[sjhang-1][sjlie+1]==(char)19)sum++;
				if(tmp[sjhang  ][sjlie+1]=='*'&&play[sjhang  ][sjlie+1]==(char)19)sum++;
				if(tmp[sjhang+1][sjlie+1]=='*'&&play[sjhang+1][sjlie+1]==(char)19)sum++;
				if(tmp[sjhang+1][sjlie  ]=='*'&&play[sjhang+1][sjlie  ]==(char)19)sum++;
				if(tmp[sjhang+1][sjlie-1]=='*'&&play[sjhang+1][sjlie-1]==(char)19)sum++;
				if(tmp[sjhang  ][sjlie-1]=='*'&&play[sjhang  ][sjlie-1]==(char)19)sum++;
 
				if(tmp[sjhang-1][sjlie-1]!='*'&&play[sjhang-1][sjlie-1]==(char)19)
				{
					play[sjhang-1][sjlie-1]='X';
					lose++;
				}
				if(tmp[sjhang-1][sjlie  ]!='*'&&play[sjhang-1][sjlie  ]==(char)19)
				{
					play[sjhang-1][sjlie  ]='X';
					lose++;
				}
				if(tmp[sjhang-1][sjlie+1]!='*'&&play[sjhang-1][sjlie+1]==(char)19)
				{
					play[sjhang-1][sjlie+1]='X';
					lose++;
				}
				if(tmp[sjhang  ][sjlie+1]!='*'&&play[sjhang  ][sjlie+1]==(char)19)
				{
					play[sjhang  ][sjlie+1]='X';
					lose++;
				}
				if(tmp[sjhang+1][sjlie+1]!='*'&&play[sjhang+1][sjlie+1]==(char)19)
				{
					play[sjhang+1][sjlie+1]='X';
					lose++;
				}
				if(tmp[sjhang+1][sjlie  ]!='*'&&play[sjhang+1][sjlie  ]==(char)19)
				{
					play[sjhang+1][sjlie  ]='X';
					lose++;
				}
				if(tmp[sjhang+1][sjlie-1]!='*'&&play[sjhang+1][sjlie-1]==(char)19)
				{
					play[sjhang+1][sjlie-1]='X';
					lose++;
				}
				if(tmp[sjhang  ][sjlie-1]!='*'&&play[sjhang  ][sjlie-1]==(char)19)
				{
					play[sjhang  ][sjlie-1]='X';
					lose++;
				}
 
				if(sum==jsq&&lose==0)
				{
					if(play[sjhang-1][sjlie-1]!=(char)19&&play[sjhang-1][sjlie-1]!=' ')
					{
						play[sjhang-1][sjlie-1]=tmp[sjhang-1][sjlie-1];
						if(play[sjhang-1][sjlie-1]==' ')space(sjhang-1,sjlie-1);
					}
					if(play[sjhang-1][sjlie  ]!=(char)19&&play[sjhang-1][sjlie  ]!=' ')
					{
						play[sjhang-1][sjlie  ]=tmp[sjhang-1][sjlie  ];
						if(play[sjhang-1][sjlie  ]==' ')space(sjhang-1,sjlie  );
					}
					if(play[sjhang-1][sjlie+1]!=(char)19&&play[sjhang-1][sjlie+1]!=' ')
					{
						play[sjhang-1][sjlie+1]=tmp[sjhang-1][sjlie+1];
						if(play[sjhang-1][sjlie+1]==' ')space(sjhang-1,sjlie+1);
					}
					if(play[sjhang  ][sjlie+1]!=(char)19&&play[sjhang  ][sjlie+1]!=' ')
					{
						play[sjhang  ][sjlie+1]=tmp[sjhang  ][sjlie+1];
						if(play[sjhang  ][sjlie+1]==' ')space(sjhang  ,sjlie+1);
					}
					if(play[sjhang+1][sjlie+1]!=(char)19&&play[sjhang+1][sjlie+1]!=' ')
					{
						play[sjhang+1][sjlie+1]=tmp[sjhang+1][sjlie+1];
						if(play[sjhang+1][sjlie+1]==' ')space(sjhang+1,sjlie+1);
					}
					if(play[sjhang+1][sjlie  ]!=(char)19&&play[sjhang+1][sjlie  ]!=' ')
					{
						play[sjhang+1][sjlie  ]=tmp[sjhang+1][sjlie  ];
						if(play[sjhang+1][sjlie  ]==' ')space(sjhang+1,sjlie  );
					}
					if(play[sjhang+1][sjlie-1]!=(char)19&&play[sjhang+1][sjlie-1]!=' ')
					{
						play[sjhang+1][sjlie-1]=tmp[sjhang+1][sjlie-1];
						if(play[sjhang+1][sjlie-1]==' ')space(sjhang+1,sjlie-1);
					}
					if(play[sjhang  ][sjlie-1]!=(char)19&&play[sjhang  ][sjlie-1]!=' ')
					{
						play[sjhang  ][sjlie-1]=tmp[sjhang  ][sjlie-1];
						if(play[sjhang  ][sjlie-1]==' ')space(sjhang  ,sjlie-1);
					}
				}
				else if(lose>0)
				{
					system("cls");
					for(i=1; i<=hang; ++i)
					{
						for(j=1; j<=lie; ++j)
						{
							if(play[i][j]=='*')
							{
								if(i==sjhang&&j==sjlie)
									SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_RED);
								else
									SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_BLUE);
							}
							else if(play[i][j]=='X')
							{
								SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_GREEN);
							}
							else
							{
 
								if(play[i][j]==(char)30||play[i][j]==' ')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
								if(play[i][j]==(char)19)SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED);
								if(play[i][j]=='1')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);
								if(play[i][j]=='2')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN);
								if(play[i][j]=='3')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
								if(play[i][j]=='4')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_BLUE);
								if(play[i][j]=='5')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_BLUE);
								if(play[i][j]=='6')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE);
								if(play[i][j]=='7')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE);
								if(play[i][j]=='8')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE);
							}
							cout<<play[i][j]<<' ';
							SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
						}
						cout<<'\n';
					}
					Sleep(1000);
					SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_BLUE);
					cout<<"You lose.\nagain?:0\n";
					cin>>again;
					break;
				}
				else if(sum<jsq)
				{
					system("cls");
					cout<<"条件不满足!";
					Sleep(1000);
					continue;
				}
			}
		}
	}
	return 0;
}
void moshi()
{
	HANDLE consolehwnd;//创建句柄
	consolehwnd=GetStdHandle(STD_OUTPUT_HANDLE);//实例化句柄
	system("cls");
	jsq=0;
	for(i=0; i<=hang; ++i)
	{
		if(i==0)
		{
			SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_RED);
			cout<<' ';
			for(k=0; k<=lie; ++k)
			{
				if(k<10)cout<<k<<' ';
				else cout<<k;
			}
			cout<<'\n';
			continue;
		}
		for(j=0; j<=lie; ++j)
		{
			if(j==0)
			{
				SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_RED);
				cout<<setw(2)<<i<<' ';
				SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
				continue;
			}
			if(play[i][j]==(char)30||play[i][j]==(char)19)jsq++;
			SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
			if(play[i][j]=='1')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);
			if(play[i][j]=='2')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN);
			if(play[i][j]=='3')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
			if(play[i][j]=='4')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_BLUE);
			if(play[i][j]=='5')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_BLUE);
			if(play[i][j]=='6')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE);
			if(play[i][j]=='7')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE);
			if(play[i][j]=='8')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE);
			if(play[i][j]==(char)19)SetConsoleTextAttribute(consolehwnd,FOREGROUND_RED);
			cout<<play[i][j]<<' ';
		}
		cout<<'\n';
	}
	sjhang=0,sjlie=0;
	cout<<"当前模式:标雷模式\n";
	cout<<"行数:";
	while(sjhang%10==0)
	{
		input=getch();
		if(input=='/')
		{
			if(sjhang!=0)
			{
				cout<<'\n';
				break;
			}
			else continue;
		}
		if(input=='0')
		{
			sjhang+=10;
			cout<<"+10";
		}
		if(input=='1')
		{
			sjhang+=1;
			cout<<"+1\n";
		}
		if(input=='2')
		{
			sjhang+=2;
			cout<<"+2\n";
		}
		if(input=='3')
		{
			sjhang+=3;
			cout<<"+3\n";
		}
		if(input=='4')
		{
			sjhang+=4;
			cout<<"+4\n";
		}
		if(input=='5')
		{
			sjhang+=5;
			cout<<"+5\n";
		}
		if(input=='6')
		{
			sjhang+=6;
			cout<<"+6\n";
		}
		if(input=='7')
		{
			sjhang+=7;
			cout<<"+7\n";
		}
		if(input=='8')
		{
			sjhang+=8;
			cout<<"+8\n";
		}
		if(input=='9')
		{
			sjhang+=9;
			cout<<"+9\n";
		}
	}
	while(sjhang>hang)
	{
		cout<<"无效的输入!请重新输入!\n行数:";
		while(sjhang%10==0)
		{
			input=getch();
			if(input=='/')
			{
				if(sjhang!=0)
				{
					cout<<'\n';
					break;
				}
				else continue;
			}
			if(input=='0')
			{
				sjhang+=10;
				cout<<"+10";
			}
			if(input=='1')
			{
				sjhang+=1;
				cout<<"+1\n";
			}
			if(input=='2')
			{
				sjhang+=2;
				cout<<"+2\n";
			}
			if(input=='3')
			{
				sjhang+=3;
				cout<<"+3\n";
			}
			if(input=='4')
			{
				sjhang+=4;
				cout<<"+4\n";
			}
			if(input=='5')
			{
				sjhang+=5;
				cout<<"+5\n";
			}
			if(input=='6')
			{
				sjhang+=6;
				cout<<"+6\n";
			}
			if(input=='7')
			{
				sjhang+=7;
				cout<<"+7\n";
			}
			if(input=='8')
			{
				sjhang+=8;
				cout<<"+8\n";
			}
			if(input=='9')
			{
				sjhang+=9;
				cout<<"+9\n";
			}
		}
	}
	cout<<"列数:";
	while(sjlie%10==0)
	{
		input=getch();
		if(input=='/')
		{
			if(sjlie!=0)
			{
				cout<<'\n';
				break;
			}
			else continue;
		}
		if(input=='0')
		{
			sjlie+=10;
			cout<<"+10";
		}
		if(input=='1')
		{
			sjlie+=1;
			cout<<"+1\n";
		}
		if(input=='2')
		{
			sjlie+=2;
			cout<<"+2\n";
		}
		if(input=='3')
		{
			sjlie+=3;
			cout<<"+3\n";
		}
		if(input=='4')
		{
			sjlie+=4;
			cout<<"+4\n";
		}
		if(input=='5')
		{
			sjlie+=5;
			cout<<"+5\n";
		}
		if(input=='6')
		{
			sjlie+=6;
			cout<<"+6\n";
		}
		if(input=='7')
		{
			sjlie+=7;
			cout<<"+7\n";
		}
		if(input=='8')
		{
			sjlie+=8;
			cout<<"+8\n";
		}
		if(input=='9')
		{
			sjlie+=9;
			cout<<"+9\n";
		}
	}
	while(sjlie>lie)
	{
		cout<<"无效的输入!请重新输入!\n列数:";
		while(sjlie%10==0)
		{
			input=getch();
			if(input=='/')
			{
				if(sjlie!=0)
				{
					cout<<'\n';
					break;
				}
				else continue;
			}
			if(input=='0')
			{
				sjlie+=10;
				cout<<"+10";
			}
			if(input=='1')
			{
				sjlie+=1;
				cout<<"+1\n";
			}
			if(input=='2')
			{
				sjlie+=2;
				cout<<"+2\n";
			}
			if(input=='3')
			{
				sjlie+=3;
				cout<<"+3\n";
			}
			if(input=='4')
			{
				sjlie+=4;
				cout<<"+4\n";
			}
			if(input=='5')
			{
				sjlie+=5;
				cout<<"+5\n";
			}
			if(input=='6')
			{
				sjlie+=6;
				cout<<"+6\n";
			}
			if(input=='7')
			{
				sjlie+=7;
				cout<<"+7\n";
			}
			if(input=='8')
			{
				sjlie+=8;
				cout<<"+8\n";
			}
			if(input=='9')
			{
				sjlie+=9;
				cout<<"+9\n";
			}
		}
	}
	if(play[sjhang][sjlie]==' ')
	{
		system("cls");
		cout<<"无效的输入!";
		Sleep(1000);
		moshi();
	}
	play[sjhang][sjlie]=(char)19;
}
void space(int i,int j)
{
	HANDLE consolehwnd;//创建句柄
	consolehwnd=GetStdHandle(STD_OUTPUT_HANDLE);//实例化句柄
	system("cls");
	for(int l=0; l<=hang; ++l)
	{
		if(l==0)
		{
			SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_RED);
			cout<<' ';
			for(k=0; k<=lie; ++k)
			{
				if(k<10)cout<<k<<' ';
				else cout<<k;
			}
			cout<<'\n';
			continue;
		}
		for(int m=0; m<=lie; ++m)
		{
			if(m==0)
			{
				SetConsoleTextAttribute(consolehwnd,FOREGROUND_INTENSITY|FOREGROUND_RED);
				cout<<setw(2)<<l<<' ';
				SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
				continue;
			}
			if(play[i][j]==(char)30||play[i][j]==(char)19)jsq++;
			if(play[i][j]==(char)30||play[i][j]==' ')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
			if(play[i][j]==(char)19)SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED);
			if(play[i][j]=='1')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);
			if(play[i][j]=='2')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN);
			if(play[i][j]=='3')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
			if(play[i][j]=='4')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_BLUE);
			if(play[i][j]=='5')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_BLUE);
			if(play[i][j]=='6')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE);
			if(play[i][j]=='7')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE);
			if(play[i][j]=='8')SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE);
			cout<<play[i][j]<<' ';
			SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
		}
		cout<<'\n';
	}
	cj[i][j]=1;
	play[i-1][j-1]=tmp[i-1][j-1],play[i-1][j]=tmp[i-1][j],play[i-1][j+1]=tmp[i-1][j+1],play[i][j+1]=tmp[i][j+1],play[i+1][j+1]=tmp[i+1][j+1],play[i+1][j]=tmp[i+1][j],play[i+1][j-1]=tmp[i+1][j-1],play[i][j-1]=tmp[i][j-1];
	if(i>=1&&j>=1&&i<=hang&&j<=lie)
	{
		if(cj[i-1][j-1]==0&&tmp[i-1][j-1]==' ')
		{
			space(i-1,j-1);
		}
		if(cj[i-1][j]==0&&tmp[i-1][j]==' ')
		{
			space(i-1,j);
		}
		if(cj[i-1][j+1]==0&&tmp[i-1][j+1]==' ')
		{
			space(i-1,j+1);
		}
		if(cj[i][j+1]==0&&tmp[i][j+1]==' ')
		{
			space(i,j+1);
		}
		if(cj[i+1][j+1]==0&&tmp[i+1][j+1]==' ')
		{
			space(i+1,j+1);
		}
		if(cj[i+1][j]==0&&tmp[i+1][j]==' ')
		{
			space(i+1,j);
		}
		if(cj[i+1][j-1]==0&&tmp[i+1][j-1]==' ')
		{
			space(i+1,j-1);
		}
		if(cj[i][j-1]==0&&tmp[i][j-1]==' ')
		{
			space(i,j-1);
		}
	}
}
2024/3/21 22:37
加载中...