How to play
You complete Kuralin when the selected edges form one loop and every circle reports the required comparison between adjacent loop cells and adjacent outside cells. The engine evaluates the full position rather than relying on a visual shortcut or an unsupported solvability claim.
- Kuralin opens from a versioned seeded position built for a single loop whose neighbouring loop and non-loop cells must satisfy the majority or equality instruction carried by each circle. Its game ID, rules profile, and deal identity are stored together so restart recreates the same opening without a server request.
- Every Kuralin action is checked against the current board, available material, and this defining restriction: all used vertices have degree two, while each circle's local majority test counts only orthogonally neighbouring cells. Invalid, stale, or post-terminal actions leave the position unchanged.
- You complete Kuralin when the selected edges form one loop and every circle reports the required comparison between adjacent loop cells and adjacent outside cells. The engine evaluates the full position rather than relying on a visual shortcut or an unsupported solvability claim.
Strategy tips
- A practical Kuralin plan is to preserve several legal continuations around a single loop whose neighbouring loop and non-loop cells must satisfy the majority or equality instruction carried by each circle. Use the deterministic hint to inspect one legal action, then compare how it affects the documented objective before committing.
- A common Kuralin error is to ignore the boundary rule that all used vertices have degree two, while each circle's local majority test counts only orthogonally neighbouring cells. Undo is useful for studying that decision, while restart deliberately preserves the original seeded position.
- Near the end of Kuralin, recount the remaining obligations needed until the selected edges form one loop and every circle reports the required comparison between adjacent loop cells and adjacent outside cells. Check the boundary rule after every final placement or transfer because terminal status is enforced immediately.