#include <iostream>
#include <conio.h>
using namespace std;
int Map[10][10] =
{
{0,0,0,0,0,0,0,0,0,0},
{0,1,1,1,1,1,1,1,1,0},
{0,1,1,1,1,1,1,1,1,0},
{0,1,1,1,1,1,0,1,1,0},
{0,1,1,1,1,1,0,1,1,0},
{0,1,1,1,0,1,1,1,1,0},
{0,1,1,1,1,1,1,1,1,0},
{0,1,0,0,0,0,1,1,1,0},
{0,1,1,1,1,1,1,1,2,0},
{0,0,0,0,0,0,0,0,0,0},
};
int keyCode = 0;
bool isRunning = true;
int X = 1;
int Y = 1;
int StarX = 9;
int StarY = 9;
void input()
{
keyCode = _getch();
}
void process()
{
switch (keyCode)
{
case 'w':
if (Map[Y - 1][X] != 0)
Y--;
break;
case 's':
if (Map[Y + 1][X] != 0)
Y++;
break;
case 'a':
if (Map[Y][X - 1] != 0)
X--;
break;
case 'd':
if (Map[Y][X + 1] != 0)
X++;
break;
case 'q':
isRunning = false;
}
}
void draw()
{
system("cls");
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
if (i == Y && j == X)
{
cout << "P ";
}
else if (Map[i][j] == 1)
{
cout << " ";
}
else if (Map[i][j] == 0)
{
cout << "ㅁ";
}
else if (Map[i][j] == 2)
{
cout << "★";
}
}
cout << "\n";
}
}
void getStar()
{
if (Map[X][Y] == 2)
{
cout << "End !";
isRunning = false;
}
}
int main()
{
while (isRunning)
{
input();
process();
draw();
getStar();
}
return 0;
}