增加了许多。
#include<bits/stdc++.h>
#include<windows.h>
#include<conio.h>
using namespace std;
long long s=1,shengming=20,bushu=0;
const long long n=60,jg=25;
bool yaoshi=0;
string p=" M!|-=.123456789%&_~";
long long r=1;
char f='y';
void print(string a[n])
{
system("cls");
for(long long i=0;i<n;i++)
cout<<a[i]<<endl;
}
void tc()
{
system("cls");
cout<<"\n\n\n\n\n 欢迎下次再玩,拜拜!!!\n";
cout<<" 制作:饼干,修改:AIO\n";
cout<<" (按空格结束)";
long long ok='\0';
while(ok=getch(),ok!=' ');
system("cls");
return ;
}
void hf()
{
char t='\0';
while(t!=' ')
{
system("cls");
cout<<"\n\n\n\n A D键换皮肤 空格确定\n\n";
cout<<"\n\n\n\n "<<p[r]<<"\n";
t=getch();
if(t=='a')r--;
else
if(t=='d')r++;
if(r<1)r=jg;
if(r>jg)r=1;
}
system("cls");
return ;
}
void sm()
{
system("cls");
cout<<"\n\n 说明:\n\n\n";
cout<<" 按空格开始游戏后\n";
cout<<" W\n";
cout<<" A S D\n";
cout<<" 移动\n";
cout<<" M是你\n";
cout<<" 按R键返回起点\n";
cout<<" 按P键返回主界面\n";
cout<<" 按Q键设立传送点\n";
cout<<" 按E键返回传送点\n";
cout<<" +号处为终点\n\n\n";
cout<<" *号处为炸药\n\n\n";
cout<<" #号处为障碍物\n\n\n";
cout<<" ?号处为可清理障碍物\n\n\n";
cout<<" V处为下刺\n\n\n";
cout<<" <处为左刺\n\n\n";
cout<<" >处为右刺\n\n\n";
cout<<" ^处为上刺\n\n\n";
cout<<" @处为钥匙\n\n\n";
cout<<" 0处为死地(不可复活且每个普通关只有一个,BOSS关有五个,超级BOSS关有10个以上)\n\n\n";
cout<<" 按空格继续···";
long long ok='\0';
while(ok=getch(),ok!=' ');
system("cls");
return ;
}
void happyprint(long long a,char b[100000000]){
int i=0;
system("cls");
while(a!=0){
if(a!=0)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_BLUE);
cout << b[i];
a--;
i++;
}
if(a!=0)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN);
cout << b[i];
a--;
i++;
}
if(a!=0)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED);
cout << b[i];
a--;
i++;
}
}
system("color 0a");
}
void hys()
{
system("cls");
cout<<"\n\n\n\n\n\n\n\n\n按1【日间色】\n";
cout<<"按2【夜间色】\n";
cout<<"按3【黑客】\n";
cout<<"按4【科幻】\n";
cout<<"按5【紫水晶】\n";
char s;
s=getch();
while(s!='1'&&s!='2'&&s!='3'&&s!='4'&&s!='5')s=getch();
switch(s-'0')
{
case 1:
system("color f0");
break;
case 2:
system("color 0f");
break;
case 3:
system("color 0a");
break;
case 4:
system("color 09");
break;
case 5:
system("color 01");
break;
}
system("cls");
return ;
}
int main()
{
system("color f0");
while(1)
{
long long xx=1,yy=1;
system("cls");
f='y';
cout<<"\n\n\n\n\n\n\n\n\n\n\n";
cout<<" 迷宫游戏,注意全屏\n";
cout<<" 按空格开始游戏\n";
cout<<" 按0退出游戏\n";
cout<<" 按1换皮肤\n";
cout<<" 按2游戏说明\n";
cout<<" 按3换颜色\n";
cout<<"\n\n\n\n\n\n\n";
cout<<" 制作:饼干,修改:AIO";
long long ok=getch();
while(ok!='0'&&ok!='1'&&ok!='2'&&ok!=' '&&ok!='3')ok=getch();
switch(ok)
{
case ' ':
break;
case '0':
tc();
return 0;
break;
case '1':
hf();
f='n';
break;
case '2':
sm();
f='n';
break;
case '3':
hys();
f='n';
break;
}
while(f=='y')
{
system("cls");
string a[n];
long long x,y,qx,qy;
long long ch;
srand(time(0));
switch(s)
{
case 1:
if(shengming!=20)
{
shengming++;
}
qx=1;
qy=1;
a[0]="###########";
a[1]="# # #@#";
a[2]="# # # #";
a[3]="# ##0## ###";
a[4]="# #???###+#";
a[5]="#???#?????#";
a[6]="###########";
break;
case 2:
if(shengming!=20)
{
shengming++;
}
qx=8;
qy=12;
a[0]="####################";
a[1]="#+ # # #";
a[2]="# ## #### ### # #";
a[3]="# #### ##### #";
a[4]="### # # ## #";
a[5]="##### #######V##@# #";
a[6]="# ## ### <# #";
a[7]="## ### ### 0 ## ##";
a[8]="# < # #";
a[9]="####################";
break;
case 3:
if(shengming!=20)
{
shengming++;
}
qx=1;
qy=1;
a[0]="###V###V#V#V###0###";
a[1]="# # # # # #";
a[2]="# # # # # # # # # #";
a[3]="# # # # # # # # # #";
a[4]="# # # # # # # # # #";
a[5]="# # # # # # # # # #";
a[6]="# # # # # # # # # #";
a[7]="# # # # # # # # # #";
a[8]="# # # # # # # # # #";
a[9]="# # # # # # # # # #";
a[10]="# # # @ # #+#";
a[11]="#*#^#^#^#^#^#^#^###";
break;
case 4:
if(shengming!=20)
{
shengming++;
}
qx=1;
qy=1;
a[0]="#####################*################V#";
a[1]="# #";
a[2]="# ###*###################*############ #";
a[3]="# # # #";
a[4]="# # #####0########*####### ##### ####V*#";
a[5]="# # #+ # # # ##* #";
a[6]="# # # # # ##*###### # #### ## #### ## #";
a[7]="# # # # # ## # ## ## # # #";
a[8]="# # # ### ## # # ########### ## ## # #";
a[9]="# # # # # # # # # @# # # #";
a[10]="# # ### ###### ### # ######## ##### ## #";
a[11]="# # * # # # # #";
a[12]="# # # ######## ############## ##### # #";
a[13]="# # > # #";
a[14]="# # ######*########################### #";
a[15]="# # # #";
a[16]="# #############V########*#######^##### #";
a[17]="# *";
a[18]="#*#######################*##############";
break;
case 5:
if(shengming!=20)
{
shengming++;
}
qx=1;
qy=1;
a[0]="########################################";
a[1]="# # #";
a[2]="# <########## ################# ###### #";
a[3]="# # # # ## # #";
a[4]="# # # #### ## # ## # #### ##### ## # # #";
a[5]="# # # # # # # # # # # #";
a[6]="# # # #### ###### ############### # #";
a[7]="# # ## # # > # # #";
a[8]="# # #### ######## <^^^^^^^####### # # #";
a[9]="#0## # 0 # < BOSS关VVVV> # # #";
a[10]="# ######### # < 危险 > ### # #";
a[11]="### # # < 地带 1> ##### # # #";
a[12]="# <#############VVVVVVVVV> # # # #";
a[13]="# # # # ## # ###";
a[14]="# ### #### ####### <#######^# #### 0# #";
a[15]="# # # # +#";
a[16]="##################0################0####";
break;
case 6:
if(shengming!=20)
{
shengming++;
}
qx=1;
qy=1;
a[0]="##########################";
a[1]="# #";
a[2]="# ###################### #";
a[3]="# #* * * * * * #";
a[4]="# # * * * * * #";
a[5]="### #####################";
a[6]="# #";
a[7]="# ###################### #";
a[8]="# > * *# #";
a[9]="#@# ####*####* * * #";
a[10]="## + ############";
a[11]="##0##*####################";
break;
case 7:
if(shengming!=20)
{
shengming++;
}
qx=1;
qy=1;
a[0]="#############################################################";
a[1]="# ###+# #+#";
a[2]="# # ###### ############################################## #";
a[3]="# # # # # # ###";
a[4]="# # # # # # # ########################################### #";
a[5]="# # # # # ##### # #";
a[6]="# # # # # # ######################################### #";
a[7]="# # # # ######### # #";
a[8]="# # # # ################################################ # #";
a[9]="# # # # #+++++++++++++++++++++++++++++++++++++++++++++++### #";
a[10]="# # # # #+++++++++++++++++++++++++++++++++++++++++++++++ # #";
a[11]="# # # # #+++++++++++++++++++++++++++++++++++++++++++++++# # #";
a[12]="# # # # ################################### ############# # #";
a[13]="# # # # # # ## # #";
a[14]="# # # # # ##### ###############0# #################### # #";
a[15]="# # # # # # ## # # # # # # # ### # #";
a[16]="# # # # # #+# # ############# # # # # # # # # #";
a[17]="# # # # # ####### # # # # # # ####################### #";
a[18]="# # #+# # # # #+# # #################### #";
a[19]="# # ### ####################### ########################### #";
a[20]="# #";
a[21]="#^###########################################################";
break;
case 8:
if(shengming!=20)
{
shengming++;
}
qx=1;
qy=1;
a[0]="#############################################################";
a[1]="# ### #*#";
a[2]="# # ##### ############################################## #";
a[3]="# # # # # # 0#";
a[4]="# # # # # # # ########################################## #";
a[5]="# # # # # ##### # #";
a[6]="# # # # # # ######################################### #";
a[7]="# # # # ######### # #";
a[8]="# # # # ################################################ # #";
a[9]="# # # # #+++++++++++++++++++++_______+++++++++++++++++++### #";
a[10]="# # # # #+++++++++++++++++++++|死|地|++++++++++++++++++** # #";
a[11]="# # # # #+++++++++++++++++++++|__|__|+++++++++++++++++++# # #";
a[12]="# # # # ######################VVVVVVV#################### # #";
a[13]="# # # # # ## # #";
a[14]="# # # # # ############################################ # #";
a[15]="# # # # # # ## # # # # # ### # #";
a[16]="# # # # # #+# # ############# # # # # # # +# #";
a[17]="# # # # # ##### ########################################### #";
a[18]="# # # ##### ##";
a[19]="#^#^#^#^# ################################################ #";
a[20]="######### *";
a[21]="#############################################################";
break;
case 9:
if(shengming!=20)
{
shengming++;
}
qx=1;
qy=1;
a[0]="##########################";
a[1]="# #";
a[2]="# ###################### #";
a[3]="# #+ #+# # # #";
a[4]="# # # # # # #";
a[5]="##### ### #V###### ## ##";
a[6]="# # ### # ##";
a[7]="# ######V#V## *### ## ####";
a[8]="# # # # ## #";
a[9]="## ##### # #### ######## #";
a[10]="## #### #";
a[11]="########0#################";
break;
case 10:
if(shengming!=20)
{
shengming++;
}
qx=1;
qy=1;
a[0]="##################################################################################################################";
a[1]="# #";
a[2]="# # 0#########################################################^################################################# #";
a[3]="# # ### ############# ### #";
a[4]="# ## ## ###### +# ########################################0################################ # # #V# # #";
a[5]="# ### # ################### # # # # # < # # # # #";
a[6]="# #### # ? ? <##################^^^^^^^^^*?????################################# # # # # # #";
a[7]="# ##########################^########## ############V##### ## # ##### # # #";
a[8]="# *##### ? < ##### #########> + ########################### ## ## < # #";
a[9]="# # 0######## ##################### # ## # ##################### ############ #^####### # #";
a[10]="# # ##### # ###### #危险! # ####### #*###### # ### # # #";
a[11]="# # # ###### # #### ##### ########## # # # ##### ############## <##################### # ###";
a[12]="# ##### # * ## # *### ## # ##### ############# ####### < # # # #";
a[13]="# # # # # ## # ## # #0#####*#### ## # # # # ^^^^^^^^^^^^^ ^##### ################ # # #";
a[14]="# # # # ##### ## # ## ## # # # # ## # # # ###### # ######### # 危险地带超级boss############# ######## ### #";
a[15]="# # # # ? ## # # # # # # ##### # # # # <###******####>>>>> # # #";
a[16]="# ### ########## # #?########0###########V#####V######### # ################**################### ############# #";
a[17]="# # # ## 0 ???? 0### #";
a[18]="* # ###V####*#####^######## ##########*#####*################0########################^###### <################# #";
a[19]="# ? # # ? ? ? ? +#";
a[20]="######################^###################################################0########0##########0###################";
break;
case 11:
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_BLUE);
cout << "你赢了!!!!!!!!!!!!!!!!!!!" << endl;
return 0;
}
xx=x=qx,yy=y=qy;
a[x][y]=p[r];
print(a);
cout << "生命:" << shengming << endl;
while(a[x][y]!='+'&&yaoshi==true)
{
ch=getch();
bushu++;
if(ch=='q')
{
xx=x;
yy=y;
}
if(ch=='e')
{
a[x][y]=' ';
a[xx][yy]=p[r];
x=xx;
y=yy;
}
if(ch=='r')
{
a[x][y]=' ';
a[qx][qy]=p[r];
x=qx;
y=qy;
}
if(shengming<=0)
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED);
cout <<"你死了!!!!!!!!!!!!!!!!!"<< endl;
return 0;
}
if(ch=='p')
{
f='n';
break;
}
if((ch=='a'&&a[x][y-1]=='+'&&yaoshi==true)||(ch=='d'&&a[x][y+1]=='+'&&yaoshi==true)||(ch=='s'&&a[x+1][y]=='+'&&yaoshi==true)||(ch=='w'&&a[x-1][y]=='+'&&yaoshi==true))
{
break;
}
if(ch=='w'&&a[x-1][y]=='V')
{
happyprint(10,"你被刺扎了,扣血4滴");
shengming-=4;
system("pause");
}
if(ch=='a'&&a[x][y-1]=='<')
{
happyprint(10,"你被刺扎了,扣血4滴");
shengming-=4;
system("pause");
}
if(ch=='d'&&a[x][y+1]=='>')
{
happyprint(10,"你被刺扎了,扣血4滴");
shengming-=4;
system("pause");
}
if(ch=='s'&&a[x+1][y]=='^')
{
cout <<"你被刺扎了,扣血4滴"<< endl;
happyprint(10,"你被刺扎了,扣血4滴");
shengming-=4;
system("pause");
}
if((ch=='a'&&a[x][y-1]=='0')||(ch=='d'&&a[x][y+1]=='0')||(ch=='s'&&a[x+1][y]=='0')||(ch=='w'&&a[x-1][y]=='S'))
{
happyprint(19,"你到了死地,接受死神的惩罚吧!!!!!");
shengming=0;
system("pause");
}
if((ch=='a'&&a[x][y-1]=='@')||(ch=='d'&&a[x][y+1]=='@')||(ch=='s'&&a[x+1][y]=='@')||(ch=='w'&&a[x-1][y]=='@'))
{
system("cls");
happyprint(8,"你得到了钥匙!!");
yaoshi=true;
system("pause");
}
if(ch==27)break;
if(ch==97&&a[x][y-1]==' '||a[x][y-1]=='|')
{
a[x][y]=' ';
y--;
a[x][y]=p[r];
}
if(ch==100&&a[x][y+1]==' '||a[x][y+1]=='|')
{
a[x][y]=' ';
y++;
a[x][y]=p[r];
}
if(ch==115&&a[x+1][y]==' '||a[x+1][y]=='|')
{
a[x][y]=' ';
x++;
a[x][y]=p[r];
}
if(ch==119&&a[x-1][y]==' '||a[x-1][y]=='|')
{
a[x][y]=' ';
x--;
a[x][y]=p[r];
}
if((ch=='a'&&a[x][y-1]=='?')||(ch=='d'&&a[x][y+1]=='?')||(ch=='s'&&a[x+1][y]=='?')||(ch=='w'&&a[x-1][y]=='?'))
{
if(ch=='a'&&a[x][y-1]=='*')
{
a[x][y-1]==' ';
}
if(ch=='d'&&a[x][y+1]=='*')
{
a[x][y+1]==' ';
}
if(ch=='s'&&a[x+1][y]=='*')
{
a[x+1][y]==' ';
}
if(ch=='w'&&a[x-1][y]=='*')
{
a[x-1][y]==' ';
}
}
if((ch=='a'&&a[x][y-1]=='*')||(ch=='d'&&a[x][y+1]=='*')||(ch=='s'&&a[x+1][y]=='*')||(ch=='w'&&a[x-1][y]=='*'))
{
happyprint(20,"你触发了炸药!你被炸药炸到了,扣血10滴");
shengming-=10;
if(ch=='a'&&a[x][y-1]=='*')
{
a[x][y-1]==' ';
}
if(ch=='d'&&a[x][y+1]=='*')
{
a[x][y+1]==' ';
}
if(ch=='s'&&a[x+1][y]=='*')
{
a[x+1][y]==' ';
}
if(ch=='w'&&a[x-1][y]=='*')
{
a[x-1][y]==' ';
}
system("pause");
}
print(a);
}
system("cls");
if(f=='n')break;
cout<<"you win!!!"<<endl;
bushu=0;
cout<<"按空格继续···";
s++;
ok='\0';
while(ok=getch(),ok!=' ');
system("cls");
cout<<"是否继续(y/n)";
while(f=getch(),f!='y'&&f!='n');
}
}
return 0;
}