#include<iostream>
#include<conio.h>
using namespace std;
int main(){
char username[150];
char password[150];
int Map[3][10][10] =
{
{
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
{ 1, 2, 0, 0, 0, 0, 0, 0, 0, 1 },
{ 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
{ 1, 0, 0, 4, 4, 4, 0, 0, 0, 1 },
{ 1, 0, 0, 3, 3, 3, 0, 0, 0, 1 },
{ 1, 0, 0, 3, 3, 3, 0, 0, 0, 1 },
{ 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
{ 1, 0, 0, 4, 4, 4, 0, 0, 0, 1 },
{ 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
},
{
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
{ 1, 2, 0, 0, 0, 0, 0, 0, 0, 1 },
{ 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
{ 1, 0, 0, 0, 4, 0, 0, 3, 0, 1 },
{ 1, 0, 0, 0, 0, 0, 0, 0, 3, 1 },
{ 1, 0, 4, 0, 0, 0, 0, 3, 0, 1 },
{ 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
{ 1, 0, 0, 0, 0, 4, 0, 0, 0, 1 },
{ 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
},
{
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },
{ 1, 2, 0, 0, 0, 0, 0, 0, 0, 1 },
{ 1, 0, 0, 3, 0, 0, 0, 0, 0, 1 },
{ 1, 0, 4, 0, 3, 0, 0, 4, 0, 1 },
{ 1, 0, 0, 0, 4, 3, 0, 0, 0, 1 },
{ 1, 0, 0, 0, 0, 4, 3, 0, 0, 1 },
{ 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
{ 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
{ 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 },
{ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
}
};
cout << endl << endl << endl << endl;
cout << "\t\t\t\t\t" << " 歡迎登錄" << endl;
cout << "\t\t\t\tUserName:";
cin >> username;
cout << "\t\t\t\tPassWord:";
cin >> password;
system("CLS");
if (strcmp(username, "root") == 0 && strcmp(password, "root") == 0){
for (int g = 0; g < 3; g++){
int x = 1, y = 1;
bool Flag = false;
while (1){
system("color 9");
Flag = false;
for (int i = 0; i < 10; i++){
for (int j = 0; j < 10; j++){
if (Map[g][i][j] == 3){
Flag = true;
}
}
}
if (!Flag){
if (g == 2) break;
cout << "恭喜你,過關啦(0:結束 1:繼續)!!!" << endl;
cout << "請輸入:";
int f;
cin >> f;
if (f == 1){
system("CLS");
break;
}
else{
exit(0);
}
}
cout << " 第" << g + 1 << "關" << endl;
for (int i = 0; i < 10; i++){
for (int j = 0; j < 10; j++){
switch (Map[g][i][j]){
case 0:
cout << " ";//可以走的
break;
case 1:
cout << "■";//牆壁
break;
case 2:
cout << "♀";//遊戲角色
break;
case 3:
cout << "○";//箱子目的地
break;
case 4:
cout << "●";//箱子
break;
case 5:
cout << "●";//箱子到達目的地後
break;
case 6:
cout << "♀";//角色進入箱子目的地後
break;
}
}
cout << endl;
}
char c = getch();
switch (c){
case '8':
if (Map[g][x - 1][y] == 0 || Map[g][x - 1][y] == 3){
if (Map[g][x][y] == 2 && Map[g][x - 1][y] == 3){
Map[g][x - 1][y] = 6;
Map[g][x][y] = 0;
}
if (Map[g][x][y] == 2 && Map[g][x - 1][y] == 0){
Map[g][x - 1][y] = 2;
Map[g][x][y] = 0;
}
if (Map[g][x][y] == 6 && Map[g][x - 1][y] == 0){
Map[g][x - 1][y] = 2;
Map[g][x][y] = 3;
}
if (Map[g][x][y] == 6 && Map[g][x - 1][y] == 3){
Map[g][x - 1][y] = 6;
Map[g][x][y] = 3;
}
--x;
}
else if (Map[g][x - 1][y] == 4 && Map[g][x - 2][y] == 0){
Map[g][x - 2][y] = 4;
Map[g][x - 1][y] = 2;
if (Map[g][x][y] == 6){
Map[g][x][y] = 3;
}
if (Map[g][x][y] == 2){
Map[g][x][y] = 0;
}
--x;
}
else if (Map[g][x - 1][y] == 4 && Map[g][x - 2][y] == 3){
Map[g][x - 2][y] = 5;
Map[g][x - 1][y] = 2;
Map[g][x][y] = 0;
--x;
}
else if (Map[g][x - 1][y] == 5 && Map[g][x - 2][y] == 0){
Map[g][x - 2][y] = 4;
Map[g][x - 1][y] = 6;
if (Map[g][x][y] == 2){
Map[g][x][y] = 0;
}
if (Map[g][x][y] == 6){
Map[g][x][y] = 3;
}
--x;
}
else if (Map[g][x - 1][y] == 5 && Map[g][x - 2][y] == 3){
Map[g][x - 2][y] = 5;
Map[g][x - 1][y] = 6;
if (Map[g][x][y] == 2){
Map[g][x][y] = 0;
}
if (Map[g][x][y] == 6){
Map[g][x][y] = 3;
}
--x;
}
break;
case '4':
if (Map[g][x][y - 1] == 0 || Map[g][x][y - 1] == 3){
if (Map[g][x][y] == 2 && Map[g][x][y - 1] == 3){
Map[g][x][y - 1] = 6;
Map[g][x][y] = 0;
}
if (Map[g][x][y] == 2 && Map[g][x][y - 1] == 0){
Map[g][x][y - 1] = 2;
Map[g][x][y] = 0;
}
if (Map[g][x][y] == 6 && Map[g][x][y - 1] == 0){
Map[g][x][y - 1] = 2;
Map[g][x][y] = 3;
}
if (Map[g][x][y] == 6 && Map[g][x][y - 1] == 3){
Map[g][x][y - 1] = 6;
Map[g][x][y] = 3;
}
--y;
}
else if (Map[g][x][y - 1] == 4 && Map[g][x][y - 2] == 0){
Map[g][x][y - 2] = 4;
Map[g][x][y - 1] = 2;
if (Map[g][x][y] == 6){
Map[g][x][y] = 3;
}
if (Map[g][x][y] == 2){
Map[g][x][y] = 0;
}
--y;
}
else if (Map[g][x][y - 1] == 4 && Map[g][x][y - 2] == 3){
Map[g][x][y - 2] = 5;
Map[g][x][y - 1] = 2;
Map[g][x][y] = 0;
--y;
}
else if (Map[g][x][y - 1] == 5 && Map[g][x][y - 2] == 0){
Map[g][x][y - 2] = 4;
Map[g][x][y - 1] = 6;
if (Map[g][x][y] == 2){
Map[g][x][y] = 0;
}
if (Map[g][x][y] == 6){
Map[g][x][y] = 3;
}
--y;
}
else if (Map[g][x][y - 1] == 5 && Map[g][x][y - 2] == 3){
Map[g][x][y - 2] = 5;
Map[g][x][y - 1] = 6;
if (Map[g][x][y] == 2){
Map[g][x][y] = 0;
}
if (Map[g][x][y] == 6){
Map[g][x][y] = 3;
}
--y;
}
break;
case '2':
if (Map[g][x + 1][y] == 0 || Map[g][x + 1][y] == 3){
if (Map[g][x][y] == 2 && Map[g][x + 1][y] == 3){
Map[g][x + 1][y] = 6;
Map[g][x][y] = 0;
}
if (Map[g][x][y] == 2 && Map[g][x + 1][y] == 0){
Map[g][x + 1][y] = 2;
Map[g][x][y] = 0;
}
if (Map[g][x][y] == 6 && Map[g][x + 1][y] == 0){
Map[g][x + 1][y] = 2;
Map[g][x][y] = 3;
}
if (Map[g][x][y] == 6 && Map[g][x + 1][y] == 3){
Map[g][x + 1][y] = 6;
Map[g][x][y] = 3;
}
++x;
}
else if (Map[g][x + 1][y] == 4 && Map[g][x + 2][y] == 0){
Map[g][x + 2][y] = 4;
Map[g][x + 1][y] = 2;
if (Map[g][x][y] == 6){
Map[g][x][y] = 3;
}
if (Map[g][x][y] == 2){
Map[g][x][y] = 0;
}
++x;
}
else if (Map[g][x + 1][y] == 4 && Map[g][x + 2][y] == 3){
Map[g][x + 2][y] = 5;
Map[g][x + 1][y] = 2;
Map[g][x][y] = 0;
++x;
}
else if (Map[g][x + 1][y] == 5 && Map[g][x + 2][y] == 0){
Map[g][x + 2][y] = 4;
Map[g][x + 1][y] = 6;
if (Map[g][x][y] == 2){
Map[g][x][y] = 0;
}
if (Map[g][x][y] == 6){
Map[g][x][y] = 3;
}
++x;
}
else if (Map[g][x + 1][y] == 5 && Map[g][x + 2][y] == 3){
Map[g][x + 2][y] = 5;
Map[g][x + 1][y] = 6;
if (Map[g][x][y] == 2){
Map[g][x][y] = 0;
}
if (Map[g][x][y] == 6){
Map[g][x][y] = 3;
}
++x;
}
break;
case '6':
if (Map[g][x][y + 1] == 0 || Map[g][x][y + 1] == 3){
if (Map[g][x][y] == 2 && Map[g][x][y + 1] == 3){
Map[g][x][y + 1] = 6;
Map[g][x][y] = 0;
}
if (Map[g][x][y] == 2 && Map[g][x][y + 1] == 0){
Map[g][x][y + 1] = 2;
Map[g][x][y] = 0;
}
if (Map[g][x][y] == 6 && Map[g][x][y + 1] == 0){
Map[g][x][y + 1] = 2;
Map[g][x][y] = 3;
}
if (Map[g][x][y] == 6 && Map[g][x][y + 1] == 3){
Map[g][x][y + 1] = 6;
Map[g][x][y] = 3;
}
++y;
}
else if (Map[g][x][y + 1] == 4 && Map[g][x][y + 2] == 0){
Map[g][x][y + 2] = 4;
Map[g][x][y + 1] = 2;
if (Map[g][x][y] == 6){
Map[g][x][y] = 3;
}
if (Map[g][x][y] == 2){
Map[g][x][y] = 0;
}
++y;
}
else if (Map[g][x][y + 1] == 4 && Map[g][x][y + 2] == 3){
Map[g][x][y + 2] = 5;
Map[g][x][y + 1] = 2;
Map[g][x][y] = 0;
++y;
}
else if (Map[g][x][y + 1] == 5 && Map[g][x][y + 2] == 0){
Map[g][x][y + 2] = 4;
Map[g][x][y + 1] = 6;
if (Map[g][x][y] == 2){
Map[g][x][y] = 0;
}
if (Map[g][x][y] == 6){
Map[g][x][y] = 3;
}
++y;
}
else if (Map[g][x][y + 1] == 5 && Map[g][x][y + 2] == 3){
Map[g][x][y + 2] = 5;
Map[g][x][y + 1] = 6;
if (Map[g][x][y] == 2){
Map[g][x][y] = 0;
}
if (Map[g][x][y] == 6){
Map[g][x][y] = 3;
}
++y;
}
break;
}
system("CLS");
}
}
cout << "恭喜你,通過了全部關卡!!!" << endl;
}
else{
cout << "PassWord Or UserName Error!!!!" << endl;
}
return 0;
}