◀ VibeCruiser

leaderfun sudoku

A free sudoku game — play it in your browser, no install. 把仓库推到 GitHub 后,在仓库的 Settings → Pages 里把 Source 设为 main 分支 / (root),即可得到 ` 24 个线索的题有一半仍然纯推理就能做完;反过来,32 个线索的题里也有 3% 是必须试算的。 线索数和「需不需要试算」几乎不相关,而「需不需要试算」才是玩家真正感受到的难度。 求解器 = 约束传播 + MRV 回溯。 每进入一层递归,先把所有「必然」的格子填掉 (某格只剩一个候选 / 某个数字在同一行、列、宫里只剩一个位置),填不动了才挑候选最少的格子分叉。 相比教科书式的裸回溯: 出题器 = 随机终盘 + 逐格试挖 + 每次验证唯一解。…

by @Gettingbetter-Lin · Gettingbetter-Lin/leaderfun-sudoku on GitHubLANG JavaScriptHOSTED ON GETTINGBETTER-LIN.GITHUB.IOUPDATED 15 Oct 2026

Vote and save it — free account with email or sign in with GitHub

Made this, @Gettingbetter-Lin? See how many people played it → or use email

Controls: Arrow keys · Mouse

▶ Play full screen ▲ Vote: free account with email ▲ Or sign in with GitHub

GitHub may ask you to sign in, then to let VibeCruiser “Verify your GitHub identity” and “Act on your behalf”. We only read your profile and email, and never post anything.

Open the live demo Source on GitHub

From the README

把仓库推到 GitHub 后,在仓库的 Settings → Pages 里把 Source 设为 main 分支 / (root),即可得到 `

24 个线索的题有一半仍然纯推理就能做完;反过来,32 个线索的题里也有 3% 是必须试算的。 线索数和「需不需要试算」几乎不相关,而「需不需要试算」才是玩家真正感受到的难度。

求解器 = 约束传播 + MRV 回溯。 每进入一层递归,先把所有「必然」的格子填掉 (某格只剩一个候选 / 某个数字在同一行、列、宫里只剩一个位置),填不动了才挑候选最少的格子分叉。 相比教科书式的裸回溯:

出题器 = 随机终盘 + 逐格试挖 + 每次验证唯一解。 从满盘按随机顺序往外挖, 每挖一个都用求解器验证「还是唯一解吗」,不是就放回去。这个方向很重要: 反过来「先定 N 个数再验证」的成功率低于百万分之一。

图片识别 = 自己写的窄域 OCR。 引入通用 OCR 库意味着几 MB 模型和 CDN, 会直接毁掉「单文件离线」这个前提。所以针对数独这个窄场景写了一条流水线: 灰度 → 倾斜校正(在 ±5° 内最大化行投影方差)→ 二值化(Otsu,失败时降级为自适应局部均值) → 网格检测(投影法找 10+10 条线)→ 每格归一化到 24×24 → 与 Canvas 现画的字体模板做膨胀 IoU 匹配, 再用「孔洞数」约束过滤。

Read the full README on GitHub →

Built something like this? Submit your vibe — free account, takes a minute. How listing works.

More like this

More sudoku games →

Made this?

Claim it: create a free account, then press CLAIM THIS in the cruiser. Put the badge below in your README or on your demo page first; that link is how we know it's yours.

Your project is on the cruise, loaded live from your own site. Put the badge in your README or on the demo page: it shows your live play count, it links back to this page, and everyone who lands here is one click from running the real thing.

On VibeCruiser

How listing, the badge and claiming work →