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);
}
}
}