#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <conio.h>
using namespace std;
class Player
{
private:
char scin;
unsigned int X;
unsigned int Y;
public:
void Move(char M)
{
if ((Y > 0) and (M == 'w'))
{
Y = Y + 1;
}
if ((Y < 2) and (M == 's'))
{
Y = Y - 1;
}
if ((X > 0) and (M == 'a'))
{
X = X - 1;
}
if ((X < 0) and (M == 'd'))
{
X = X + 1;
}
}
void Show(char N)
{
system("cls");
char mapp[3][3] = {
{ N, N, N },
{ N, N, N },
{ N, N, N }
};
mapp[X][Y] = '_';
for (int i = 0; i < 3; i++)
{
for (int z = 0; z < 3; z++)
{
cout << mapp[i][z];
}
}
mapp[X][Y] = N;
}
};
int main()
{
Player First;
int key;
key = _getch();
while (true)
{
if (key == 87)
{
First.Move('w');
First.Show(' ');
}
if (key == 83)
{
First.Move('s');
First.Show(' ');
}
if (key == 68)
{
First.Move('d');
First.Show(' ');
}
if (key == 65)
{
First.Move('a');
First.Show(' ');
}
}
system("PAUSE");
return 0;
}
I2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPGNzdGRsaWI+CiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPGNvbmlvLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNsYXNzIFBsYXllcgp7CnByaXZhdGU6CgljaGFyIHNjaW47Cgl1bnNpZ25lZCBpbnQgWDsKCXVuc2lnbmVkIGludCBZOwpwdWJsaWM6Cgl2b2lkIE1vdmUoY2hhciBNKQoJewoJCWlmICgoWSA+IDApIGFuZCAoTSA9PSAndycpKQoJCXsKCQkJWSA9IFkgKyAxOwoJCX0KCQlpZiAoKFkgPCAyKSBhbmQgKE0gPT0gJ3MnKSkKCQl7CgkJCVkgPSBZIC0gMTsKCQl9CgkJaWYgKChYID4gMCkgYW5kIChNID09ICdhJykpCgkJewoJCQlYID0gWCAtIDE7CgkJfQoJCWlmICgoWCA8IDApIGFuZCAoTSA9PSAnZCcpKQoJCXsKCQkJWCA9IFggKyAxOwoJCX0KCX0KCXZvaWQgU2hvdyhjaGFyIE4pCgl7CgkJc3lzdGVtKCJjbHMiKTsKCQljaGFyIG1hcHBbM11bM10gPSB7CgkJCXsgTiwgTiwgTiB9LAoJCSAgICB7IE4sIE4sIE4gfSwKCQkgICAgeyBOLCBOLCBOIH0KCQl9OwoJCW1hcHBbWF1bWV0gPSAnXyc7CgkJZm9yIChpbnQgaSA9IDA7IGkgPCAzOyBpKyspCgkJewoJCQlmb3IgKGludCB6ID0gMDsgeiA8IDM7IHorKykKCQkJewoJCQkJY291dCA8PCBtYXBwW2ldW3pdOwoJCQl9CgkJfQoJCW1hcHBbWF1bWV0gPSBOOwoJfQp9OwppbnQgbWFpbigpCnsKCQlQbGF5ZXIgRmlyc3Q7CgkJaW50IGtleTsKCQlrZXkgPSBfZ2V0Y2goKTsKCQl3aGlsZSAodHJ1ZSkKCQl7CgkJaWYgKGtleSA9PSA4NykKCQl7CgkJCUZpcnN0Lk1vdmUoJ3cnKTsKCQkJRmlyc3QuU2hvdygnICcpOwoJCX0KCQlpZiAoa2V5ID09IDgzKQoJCXsKCQkJRmlyc3QuTW92ZSgncycpOwoJCQlGaXJzdC5TaG93KCcgJyk7CgkJfQoJCWlmIChrZXkgPT0gNjgpCgkJewoJCQlGaXJzdC5Nb3ZlKCdkJyk7CgkJCUZpcnN0LlNob3coJyAnKTsKCQl9CgkJaWYgKGtleSA9PSA2NSkKCQl7CgkJCUZpcnN0Lk1vdmUoJ2EnKTsKCQkJRmlyc3QuU2hvdygnICcpOwoJCX0KCX0KCXN5c3RlbSgiUEFVU0UiKTsKCXJldHVybiAwOwp9