Direction directionTo(Square square) {
            if (square.x < this.x) {
                if (square.y < this.y) {
                    return Direction.NORTHWEST;
                } else if (square.y > this.y) {
                    return Direction.SOUTHWEST;
                } else {
                    return Direction.WEST;
                }
            } else if (square.x > this.x) {
                if (square.y < this.y) {
                    return Direction.NORTHEAST;
                } else if (square.y > this.y) {
                    return Direction.SOUTHEAST;
                } else {
                    return Direction.EAST;
                }
            } else {
                if (square.y < this.y) {
                    return Direction.NORTH;
                } else if (square.y > this.y) {
                    return Direction.SOUTH;
                } else {
                    return null;
                }
            }
        }