当前位置 博文首页 > standard_input的博客:迷宫游戏选关版

    standard_input的博客:迷宫游戏选关版

    作者:[db:作者] 时间:2021-08-27 22:11

    #include<bits/stdc++.h>
    #include<conio.h>
    using namespace std;
    int di1[4]={0,0,-1,1};
    int di2[4]={-1,1,0,0};
    bool check(int n,int m,int x,int y){
    	if((x<0)||(y<0)||(x>=n)||(y>=m)){
    		return false;
    	}
    	return true;
    }
    int main(){
    	cout<<"===迷宫游戏选关版==="<<endl;
    	cout<<"作者:可乐"<<endl;
    	while(1){ 
    		cout<<"您想选择哪一关?(1-3之间,退出答0)"<<endl;
    		int a;
    		cin>>a;
    		if(a==0){
    			cout<<"GOODBYE!";
    			return 0;
    		}
    		int n=0,m=0;
    		if(a==1){
    			system("cls");
    			cout<<"===迷宫游戏选关版==="<<endl;
    			cout<<"作者:可乐"<<endl;
    			cout<<"您想选择哪一关?(1-3之间,退出答0)"<<endl;
    			char maze[4][4]={{'o','#','#','#'},
    							 {'.','.','.','#'},
    							 {'#','#','.','.'},
    							 {'#','.','.','.'}};
    			for(int i=0;i<4;i++){
    				for(int j=0;j<4;j++){
    					cout<<maze[i][j];
    				}
    				cout<<endl;
    			}
    			int curx=0,cury=0;
    			while(curx!=3||cury!=3){
    				char c=getch();
    				int di=0;
    				if(c=='w'){
    					di=2;
    				}
    				else if(c=='s'){
    					di=3;
    				}
    				else if(c=='a'){
    					di=0;
    				}
    				else di=1;
    				int x=curx+di1[di],y=cury+di2[di];
    				if(check(4,4,x,y)&&maze[x][y]!='#'){
    					swap(maze[curx][cury],maze[x][y]);
    					curx=x,cury=y;
    					system("cls");
    					cout<<"===迷宫游戏选关版==="<<endl;
    					cout<<"作者:可乐"<<endl;
    					cout<<"您想选择哪一关?(1-3之间,退出答0)"<<endl;
    					for(int i=0;i<4;i++){
    						for(int j=0;j<4;j++){
    							cout<<maze[i][j];
    						}
    						cout<<endl;
    					}
    				}
    			}
    			cout<<"====YOU"<<" "<<"WIN!===="<<endl;
    		}
    		else if(a==2){
    			system("cls");
    			cout<<"===迷宫游戏选关版==="<<endl;
    			cout<<"作者:可乐"<<endl;
    			cout<<"您想选择哪一关?(1-3之间,退出答0)"<<endl;
    			char maze[5][5]={{'o','.','#','#','#'},
    							 {'#','.','.','#','.'},
    							 {'#','#','.','.','.'},
    							 {'#','#','#','.','#'},
    							 {'#','#','.','.','.'}};
    			for(int i=0;i<5;i++){
    				for(int j=0;j<5;j++){
    					cout<<maze[i][j];
    				}
    				cout<<endl;
    			}
    			int curx=0,cury=0;
    			while(curx!=4||cury!=4){
    				char c=getch();
    				int di=0;
    				if(c=='w'){
    					di=2;
    				}
    				else if(c=='s'){
    					di=3;
    				}
    				else if(c=='a'){
    					di=0;
    				}
    				else di=1;
    				int x=curx+di1[di],y=cury+di2[di];
    				if(check(5,5,x,y)&&maze[x][y]!='#'){
    					swap(maze[curx][cury],maze[x][y]);
    					curx=x,cury=y;
    					system("cls");
    					cout<<"===迷宫游戏选关版==="<<endl;
    					cout<<"作者:可乐"<<endl;
    					cout<<"您想选择哪一关?(1-3之间,退出答0)"<<endl;
    					for(int i=0;i<5;i++){
    						for(int j=0;j<5;j++){
    							cout<<maze[i][j];
    						}
    						cout<<endl;
    					}
    				}
    			}
    			cout<<"====YOU"<<" "<<"WIN!===="<<endl;
    		}
    		else{
    			system("cls");
    			cout<<"===迷宫游戏选关版==="<<endl;
    			cout<<"作者:可乐"<<endl;
    			cout<<"您想选择哪一关?(1-3之间,退出答0)"<<endl;
    			char maze[6][6]={{'o','#','#','.','#','#'},
    					 		 {'.','.','.','#','#','.'},
    					 		 {'#','#','.','.','#','.'},
    					 		 {'#','#','#','.','.','.'},
    					 		 {'#','.','.','.','#','#'},
    					 		 {'#','#','.','.','.','.'}};
    			for(int i=0;i<6;i++){
    				for(int j=0;j<6;j++){
    					cout<<maze[i][j];
    				}
    				cout<<endl;
    			}
    			int curx=0,cury=0;
    			while(curx!=5||cury!=5){
    				char c=getch();
    				int di=0;
    				if(c=='w'){
    					di=2;
    				}
    				else if(c=='s'){
    					di=3;
    				}
    				else if(c=='a'){
    					di=0;
    				}
    				else di=1;
    				int x=curx+di1[di],y=cury+di2[di];
    				if(check(6,6,x,y)&&maze[x][y]!='#'){
    					swap(maze[curx][cury],maze[x][y]);
    					curx=x,cury=y;
    					system("cls");
    					cout<<"===迷宫游戏选关版==="<<endl;
    					cout<<"作者:可乐"<<endl;
    					cout<<"您想选择哪一关?(1-3之间,退出答0)"<<endl;
    					for(int i=0;i<6;i++){
    						for(int j=0;j<6;j++){
    							cout<<maze[i][j];
    						}
    						cout<<endl;
    					}
    				}
    			}
    			cout<<"====YOU"<<" "<<"WIN!===="<<endl;
    		}
    	} 
    	return 0; 
    }

    cs
    下一篇:没有了