当前位置 博文首页 > 饼干的博客:Devc++迷宫小游戏1.0.1

    饼干的博客:Devc++迷宫小游戏1.0.1

    作者:[db:作者] 时间:2021-08-21 19:10

    迷宫小游戏最近更新了一张地图

    #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()%7+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;
    				case 7:
    					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]="#                                                           #";
    				   a[21]="#############################################################";
    			}
    			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
    下一篇:没有了