- if (ret == 0) {
- Walk.Cache cache = node.state().cache();
- if (canKill(cache, position, r.position) && canKill(cache, r.position, position)) throw new Error();
- if (canKill(cache, position, r.position)) ret = 1;
- else if (canKill(cache, r.position, position)) ret = -1;
- if (canNeed(cache, position, r.position)) ret = 1;
- else if (canNeed(cache, r.position, position)) ret = -1;
- }
- return -1 * ret;