迷宫游戏选关版

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值