import java.util.*;
abstract class GameObject {
protected int x, y;
public GameObject(int startX, int startY) {
this.x = startX;
this.y = startY;
}
public int getX() {
return x;
}
public int getY() {
return y;
}
public boolean collide(GameObject P) {
if (this.x == P.getX() && this.y == P.getY())
return true;
else
return false;
}
protected abstract void move(char direction);
protected abstract char getShape();
}
class Player extends GameObject {
public Player() {
super(1, 1);
}
public Player(int x, int y) {
super(x, y);
}
public int getX() {
return x;
}
public int getY() {
return y;
}
protected void move(String d) {
if ((d.charAt(1) == 'a' && x == 0) || (d.charAt(1) == 's' && y == 9) || (d.charAt(1) == 'w' && y == 0)
|| (d.charAt(1) == 'd' && x == 19)) {
System.out.println("***ERROR***");
System.out.println("SYSTEM ERROR 엘레레렐ㄹㄹ레ㅔㄹ레레레(대충 오류났을때 나오는 거)");
System.out.println("키 안알려줌.게임 많이 했으면 이거 국룰이라 알텐데 ㅋㅋㅋ.어쨌든 오류니까 한 턴 가져감ㅅㄱ");
} else if (d.charAt(1) == 'a')
x--;
else if (d.charAt(1) == 'w')
y++;
else if (d.charAt(1) == 's')
y--;
else
x++;
}
protected char getShape() {
return '앍';
}
@Override
protected void move(char direction) {
// TODO Auto-generated method stub
}
}
class Jjam extends Player {
int d = 0;
public Jjam() {
super(5, 10);
}
public void move(char direction) {
d++;
d = d % 4;
if (x + 5 > getX() && x - 5 < getX() && y + 5 > getY() && y - 5 < getY()) {
if (d == 1)
x--;
else if (d == 2)
y++;
else if (d == 3)
y--;
else if (d == 4)
x++;
}
}
public char getShape() {
return 'ㅋ';
}
}
class Game {
public void run(Player p,Jjam j) {
Scanner sc=new Scanner(System.in);
String[] d=new String[1];
System.out.println("시작**************");
while(j.collide(p)==false) {
for(int i=0;i<10;i++) {
for(int i1=0;i1<20;i1++) {
if(p.getX()==i&&p.getY()==i)
System.out.print(p.getShape());
else if(j.getX()==i&&j.getY()==i)
System.out.print(j.getShape());
else
System.out.print("-");
}
System.out.println();
}
d[1]=sc.next();
p.move(d[1]);
}
}
}
class Main {
public static void main(String[] args) {
Player p = new Player();
Jjam j=new Jjam();
Game g=new Game();
g.run(p,j);
}
}