Empty 클래스의 getPossibleMoves() 메소드를 구현
Rook 클래스의 getPossibleMoves() 메소드를 구현
Bishop 클래스의 getPossibleMoves() 메소드를 구현
Queen 클래스의 getPossibleMoves() 메소드를 구현
Queen의 getPossibleMoves() 메소드 중복 코드 제거 위해 Direction과 PositionController에
새로운 메소드 추
King 클래스의 getPossibleMoves() 메소드를 구현
Pawn 클래스의 getPossibleMoves() 메소드를 구현(시작 위치에서도 한 칸만 이동)
awn이 시작 위치에서 두 칸 이동할 수 있도록 허용할 경우 getPossibleMoves() 메소드를 구현
말(Piece)을 이동할 때 이동하려는 위치의 말의 상태가 Empty인 경우 말을 이동하지 못하도록 한다.
말(Piece)을 이동하려는 목표(target) 위치가 유효하지 않은 위치일 경우 말을 이동할 수 없다.
말(Piece)을 이동하려는 목표(target) 위치에 같은 편 말이 존재할 경우 이동할 수 없다.