当前位置 博文首页 > 饼干的博客:Devc++迷宫小游戏1.0
我第一次写文章,若有错误请大佬指正(毕竟我还是个小学生)!!!
话不多说,直接上代码:
#include<bits/stdc++.h>
#include<windows.h>
#include<conio.h>
using namespace std;
const long long n=29,jg=25;
string p=" *!|-=.<^>1234567890@$%?&_~";
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<<" ? ? ? ? ? ? ? ? ? ?制作:饼干\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<<"?? ??? ??? ? ? ?? ??? ?按R键返回起点\n";
?? ?cout<<"?? ??? ??? ? ? ?? ??? ?按P键返回主界面\n";
?? ?cout<<"?? ??? ??? ? ? ?? ??? ?按Q键设立传送点\n";
?? ?cout<<"?? ??? ??? ? ? ?? ??? ?按E键返回传送点\n";
?? ?cout<<"?? ??? ??? ? ? ?? ??? ?+号处为终点\n\n\n";
?? ?cout<<"?? ??? ??? ?按空格继续···";
?? ?long long ok='\0';
?? ?while(ok=getch(),ok!=' ');
?? ?system("cls");
?? ?return ;
}
int main()
{
?? ?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<<"\n\n\n\n\n\n\n";
?? ??? ?cout<<" ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 制作:饼干";
?? ??? ?long long ok=getch();
?? ??? ?while(ok!='0'&&ok!='1'&&ok!='2'&&ok!=' ')ok=getch();
?? ??? ?switch(ok)
?? ??? ?{
?? ??? ??? ?case ' ':
?? ??? ??? ??? ?break;
?? ??? ??? ?case '0':
?? ??? ??? ??? ?tc();
?? ??? ??? ??? ?return 0;
?? ??? ??? ??? ?break;
?? ??? ??? ?case '1':
?? ??? ??? ??? ?hf();
?? ??? ??? ??? ?f='n';
?? ??? ??? ??? ?break;
?? ??? ??? ?case '2':
?? ??? ??? ??? ?sm();
?? ??? ??? ??? ?f='n';
?? ??? ??? ??? ?break;
?? ??? ?}
?? ??? ?while(f=='y')
?? ??? ?{
?? ??? ??? ?system("cls");
?? ??? ??? ?string a[n];
?? ??? ? ? ?long long x,y,qx,qy;
?? ??? ? ? ?long long ch;
?? ??? ??? ?srand(time(0));
?? ??? ??? ?long long s=rand()%6+1;
?? ??? ??? ?switch(s)
?? ??? ??? ?{
?? ??? ??? ??? ?case 1:
?? ??? ??? ??? ??? ?qx=1;
?? ??? ??? ??? ??? ?qy=1;
?? ??? ??? ??? ??? ?a[0]="###########";
?? ??? ? ? ??? ? ? ?a[1]="# ? # ? # #";
?? ??? ? ? ??? ? ? ?a[2]="# # ? # ? #";
?? ??? ??? ??? ??? ?a[3]="# ##### ###";
?? ??? ??? ??? ??? ?a[4]="# # ? ###+#";
?? ??? ??? ??? ??? ?a[5]="# ? # ? ? #";
?? ??? ??? ??? ??? ?a[6]="###########";
?? ??? ? ? ??? ??? ?break;
?? ??? ? ? ??? ?case 2:
?? ??? ??? ??? ??? ?qx=8;
?? ??? ??? ??? ??? ?qy=12;
?? ??? ??? ??? ??? ?a[0]="####################";
?? ??? ??? ??? ??? ?a[1]="#+ ? # ? ? ? # ? ? #";
?? ??? ??? ??? ??? ?a[2]="# ## ? #### ### ?# #";
?? ??? ??? ??? ??? ?a[3]="# ?#### ? ? ?##### #";
?? ??? ??? ??? ??? ?a[4]="### ? # # ## ? ? ? #";
?? ??? ??? ??? ??? ?a[5]="##### ########## # #";
?? ??? ??? ??? ??? ?a[6]="# ? ? ## ### ? ## ?#";
?? ??? ??? ??? ??? ?a[7]="## ### ? ### # ## ##";
?? ??? ??? ??? ??? ?a[8]="# ? ? ?# ? ? # ? ? #";
?? ??? ??? ??? ??? ?a[9]="####################";
?? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ?case 3:
?? ??? ??? ??? ??? ?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]="####################";
?? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ?case 4:
?? ??? ??? ??? ??? ?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]="# # ################################## #";
?? ??? ??? ??? ? ? a[15]="# # ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?# #";
?? ??? ??? ??? ? ? a[16]="# #################################### #";
?? ??? ??? ??? ? ? a[17]="# ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#";
?? ??? ??? ??? ? ? a[18]="########################################";
?? ??? ??? ??? ? ? ?break;
?? ??? ??? ??? ?case 5:
?? ??? ??? ??? ??? ?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]="# ### #### ####### ########### #### ## #";
?? ??? ??? ??? ? ? a[15]="# ? ? # ? ?# ? ? ? ? ? ? ? ? ? ? ?# ? +#";
?? ??? ??? ??? ? ? a[16]="########################################";
?? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ?case 6:
?? ??? ??? ??? ??? ?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]="# # # # ##### ## # ## ## ?# ? # ? # ? # ## ? # # # ###### # ######### # ? ? ? ? ? ? ?############# ?######## ### #";
?? ??? ??? ??? ? ? a[15]="# # # # ? ? ? ## # # ?# ? ? # ? # ? # ? ##### ?# ? ? ? # ?# # ? ? ? ? ############### ? ? ? ? ? ? # ? ? ? ? ? ?# #";
?? ??? ??? ??? ? ? a[16]="# ### ########## # # #################################### # ##################################### ?############# #";
?? ??? ??? ??? ? ? a[17]="# # ? ? ? ? ? ? ?# ? ? ? ## ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #### ? ? ? ? ? ? ? #";
?? ??? ??? ??? ? ? a[18]="# # ####################### ################################################################# ################## #";
?? ??? ??? ??? ? ? a[19]="# ? ? ? ? ? ? ? ? ? ? ? ? # ?# ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?+#";
?? ??? ??? ??? ? ? a[20]="##################################################################################################################";
?? ??? ??? ??? ??? ?break;
?? ??? ??? ?}
?? ??? ??? ?xx=x=qx,yy=y=qy;
?? ??? ??? ?a[x][y]=p[r];
?? ??? ? ? ?print(a);
?? ??? ? ? ?while(a[x][y]!='+')
?? ??? ? ? ?{
?? ??? ? ? ? ? ?ch=getch();
?? ??? ? ? ? ? ?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(ch=='p')
?? ??? ? ? ? ? ?{
?? ??? ? ? ? ? ??? ?f='n';
?? ??? ? ? ? ? ??? ?break;
?? ??? ??? ??? ?}
?? ??? ? ? ? ? ?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]=='+'))
?? ??? ? ? ? ? ?{
?? ??? ? ? ? ? ??? ?break;
?? ??? ??? ??? ?}
?? ??? ? ? ? ? ?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];
?? ??? ? ? ? ? ?}
?? ??? ? ? ? ? ?print(a);
?? ??? ? ? ?}
?? ??? ? ? ?system("cls");
?? ??? ? ? ?if(f=='n')break;
?? ??? ? ? ?cout<<"you win!!!"<<endl;
?? ??? ? ? ?cout<<"按空格继续···";
?? ??? ? ? ?ok='\0';
?? ??? ? ? ?while(ok=getch(),ok!=' ');
?? ??? ??? ?system("cls");
?? ??? ? ? ?cout<<"是否继续(y/n)";
?? ??? ? ? ?while(f=getch(),f!='y'&&f!='n');
?? ??? ?}
?? ?}
? ? return 0;
}?
声明:
以上是我原创的代码,请勿抄袭,转载请标明作者!!!
cs