Skip to content

Promote to production: Onet Connect game - #305

Merged
slaveofcode merged 2 commits into
mainfrom
develop
Aug 21, 2026
Merged

Promote to production: Onet Connect game#305
slaveofcode merged 2 commits into
mainfrom
develop

Conversation

@slaveofcode

Copy link
Copy Markdown
Owner

Promotes the Onet Connect tile-matching game. CI green on develop.

Clear the board by pairing identical tiles joinable by a line with at
most two turns, including routes around the outside of the board — the
border rule that makes edge tiles matchable.

Pure onet.lib (35 tests): findPath does a BFS over (cell, direction,
turns) on a one-cell-padded grid and returns the corner points, so the
island can draw the connecting line it just validated. Plus findHint /
hasAnyMove (one function, used for both hints and deadlock detection),
shuffleBoard that retries until the redeal has a legal move, and board
generation that only deals playable openings. Tests pin the tricky
cases: 0/1/2-turn routes, blocked rows, the outside-border route, the
three-turn refusal, deadlock, and a full board played to completion.

Island: emoji tiles, three difficulties, relaxed by default with an
optional timed countdown, hint/shuffle, path flash on match, streak
scoring, best time per mode in localStorage and useExpand fullscreen.
The board is dealt on mount rather than during render — dealing it in
the initial state produced a different board on the server than the
client and logged React hydration errors. EN + ID SEO.
feat(games): Onet Connect tile-matching game
@slaveofcode
slaveofcode merged commit dffe24e into main Aug 21, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant