三子棋米字棋

SKILL生活服务
生活服务 未标注权限 许可证不明确
安装这个技能

三子棋·米字棋(Three Men's Morris / 走三棋 / 九孔棋 / Tapatan / Picaria)网页版小游戏:单个 HTML 文件,双击即玩,零依赖、零联网、零安装,手机上也能触屏玩;人机对战,你执黑先手,电脑用穷举全解,并带简单/普通/困难三档难度(困难档零失误)。当用户想要三子棋、米字棋、走三棋、九孔棋这类 3×3 双斜线直棋的可玩成品,或需要调整棋盘木框厚度/留白/格距、给棋类小游戏加难度分级、把棋类小游戏做成手机可玩或微信可分享的网页、排查网页 boot 期白屏、核对"平台双层/发布态"是否同步时使用。作者邮箱:348760700@qq.com。

一句话选型结论

按资料字段整理

三子棋米字棋是生活服务类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类生活服务 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_5a431656/three-mens-morris
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

生活服务
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_5a431656仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791691333
正文体量10.7 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
行程与攻略

按目的地和天数排行程。

日常信息查询

查天气、交通、办事信息。

生活事务整理

把琐事整理成清单逐项处理。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在生活服务场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
三子棋米字棋当前 未标注权限 未标注 未标注 未标注 有
食谱批量下载文件夹 联网访问 GitHub 仓库 28.5 万 Codex、Claude、Cursor 有
食谱创建演示文稿 未标注权限 GitHub 仓库 28.0 万 Codex、Claude、Cursor 有
recipe 备份 sheet AS CSV 联网访问 GitHub 仓库 27.9 万 Codex、Claude、Cursor 有
recipe create Gmail filter 邮件管理 未标注权限 GitHub 仓库 27.8 万 Codex、Claude、Cursor 有
配方观察驱动器变化 联网访问 GitHub 仓库 27.4 万 Codex、Claude、Cursor 有

SKILL.md 全文

10.7 KB
模型实际读到的说明书原文,来自技能仓库

三子棋 · 米字棋 Three Men's Morris

交付目标:给用户一个双击即玩的米字棋网页,以及一套可以继续改比例、改难度、验证正确性的方法。

一、这东西是什么(先别叫错名字)

中文口语里"三子棋"被三盘棋抢用,动手前先确认用户要的是哪一个:

棋名 棋盘 每人棋子 特征
井字棋 tic-tac-toe 3×3 九宫格,无斜线 不限 下在格子里,摆满即止,不能走子
米字棋 Three Men's Morris 3×3 加双斜线(形如"米"字) 各 3 子 下在交点上,摆完能走子,无吃子 ← 本技能
成三棋 Nine Men's Morris 三个同心正方形 各 9 子 下在交点上,成三可吃子

别名:米字棋、走三棋、三三棋、九孔棋、Tapatan(菲律宾)、Picaria(美洲原住民)。同一块棋盘的两种规则版本:能走到任意空位 = Nine Holes(九孔棋);只能走到相邻空位 = Three Men's Morris。

> 用户只说"三子棋"时,默认是井字棋。若用户说"米字棋 / 走三棋 / 带斜线的三子棋",才是本技能。不确定就先问一句。

二、本作规则(已实现,勿擅自改)

  1. 9 个交点,8 条获胜线:3 行 + 3 列 + 2 条大斜线。
  2. 两阶段:摆放(各 3 子轮流落空点)→ 走子(把自己一子挪到相邻空点)。
  3. 走子为八方向全通(含斜向)。方向数:角 3 / 边中点 5 / 中心 8。
  4. 3 子连成横、竖或斜一线即胜;没有吃子。
  5. 轮到你却无子可走 → 判负。
  6. 斜线一律画虚线(只表示"能走",不算获胜线);实线只有 3×3 网格。
  7. 只做人机对战,人执黑先手,电脑穷举全解。

本作与标准版的差别:标准 Three Men's Morris 只能沿棋盘画出的线走(边中点不能斜走)→ 先手必胜;本作放宽为八方向全通 → 理论结果和棋。改规则会改变棋的理论性质,动之前先跟用户确认。

三、怎么用(交给用户)

index.html 就是成品,独立单文件,直接打开即可:

场景 做法
电脑上玩 双击 index.html(推荐 Chrome / Edge)
手机上玩 连同文件一起托管到任意静态服务,或直接发给手机的浏览器打开
微信里分享给别人 用能返回正式分享域名的托管渠道(workbuddy.link 一类),别用会现造沙箱子域的渠道,否则微信会弹安全提醒(详见 @references/mizqi-notes.md 第六节)
要"打开就有永久链接" 走资料库页面发布(轻量发布),得到形如 https://workbuddy.link/p/<页面ID> 的短链

操作:点 9 个交叉点摆子 → 摆完点自己的棋子(出金圈)→ 再点墨绿色提示点走子 → 连成一线即胜。顶部按钮:重新开始 / 难度(简单·普通·困难) / 声音(默认关)。难度切换立即生效,不用重开,默认普通。

四、改比例(最常被要求的一步)

棋盘几何由三个常量派生,改完必须让闭合等式成立:

const DESIGN = 608, FRAME0 = 42, MARGIN0 = 88, CELL0 = 174;
// 2*FRAME0 + 2*(MARGIN0 + CELL0) = DESIGN
// 2*42     + 2*(88      + 174)   = 608  ✓
const LABEL_POS = 0.40;          // 坐标标号在留白中的位置:0=贴木板边,1=贴网格
需求 怎么改
木框更厚、网格不变 FRAME0↑,加厚的量从 MARGIN0 等量扣掉,CELL0 不动
厚边框 + 窄棋盘 FRAME0↑、CELL0↓、MARGIN0↑
棋盘铺满 FRAME0↓、CELL0↑、MARGIN0↓
棋子大小 只改 STONE_R(当前 0.22),所有棋子与标记都由它派生

⚠️ 三个坑:
- 改完一定同步 play(play = DESIGN - 2*FRAME0,当前 524),它是缩放基准。
- MARGIN0 有下限 ≈86 —— 留白里还要放 A–C / 1–3 坐标标号,再小标号就贴上外侧棋子。真到极限时先把 LABEL_POS 往 0 调,再不够只能回头缩 CELL0。
- 棋子/格距比恒为 0.44,用户说"棋子太靠边"时,根因通常是留白不足,不是棋子太大。

五、改完必须自测(别只做语法检查)

node scripts/selftest-stub-dom.mjs index.html --verbose
node scripts/selftest-difficulty.mjs index.html --games 300   # 改了难度参数必跑

selftest-stub-dom.mjs 用 Proxy 造假 canvas context + 假 document/window,把页面脚本 new Function(...) 真跑一遍,能抓到"元素删了但 JS 还在引用"这类语法检查查不出的 boot 期崩溃(症状是整页白屏)。

selftest-difficulty.mjs 把脚本内部符号(aiPick / genMoves / SOLVER)拉出来反复对局,断言三件事:困难档人类一局都赢不了、简单档人类能赢、简单档比普通档好赢。

两个必踩的坑:① new Function 的 window 形参不是全局对象,脚本里裸引用的全局名必须另挂 globalThis;② 桩赋值有先后,globalThis.X = win.X 必须写在 win.X = {...} 之后,否则桩拿到 undefined,脚本静默早退成"假通过"。

六、AI 是怎么做到"不会走错"的

用 BFS 枚举全部可达局面 + 逆向归纳标定每个局面的胜负,结果存进 Map,电脑每步查表选最优。逆向归纳的顺序是最大的坑:

  1. 存在能立刻赢的分支 → 直接判赢;
  2. 否则等全部分支定完 → 全输则输,否则和;
  3. 循环到不动点后,剩余未定的统一归为和棋。

✗ 若要求"所有分支都解析完才判赢",循环(和棋)局面永远等不到 → 完全不收敛。

难度三档(简单 / 普通 / 困难)

同一张解表既当"上帝视角",也当难度旋钮。先把每一手的成色归一化成三档:

function moveScore(m) {           // 3 = 电脑必胜手 / 2 = 和棋手 / 1 = 送输手
  const r = SOLVER.get(skey(applyMove(board, AI, m), HUMAN));
  return r === AI ? 3 : r === 'D' ? 2 : r === HUMAN ? 1 : 2;
}
档位 键值 失误概率 效果(人类=贪心求胜,300 局实测)
简单 easy 30% 纯随机 + 55% 退次优 人类胜 81.7%
普通 normal 30% 人类胜 48.0%
困难 hard 0% 人类胜 0.0%(电脑永不放水)

要点:
- 困难档就是原始逻辑,okWrong = 0 时那条失误分支根本不进 —— 这是"电脑不失误"的实现保证,别去改它。
- 米字棋理论结果是和棋(空盘 9 个开局手成色全为 D)。困难档"至少不输";它不是比人强,而是逼人类走对才守得住和。
- 失误只在成色组的次序里退一档,退无可退自动落回最优档 → 永不产生非法手。
- 改手感就动 okWrong(简单 0.55 / 普通 0.30 / 困难 0)和简单档那个 Math.random() < 0.30。

七、交付前检查清单

  • [ ] node scripts/selftest-stub-dom.mjs index.html --verbose → 全部通过
  • [ ] node scripts/selftest-difficulty.mjs index.html --games 300 → 五条断言全 PASS(困难档 0 胜)
  • [ ] 页面零外部请求(无 CDN、无上报),断网可玩
  • [ ] 改了几何常量 → 闭合等式仍成立、play 已同步、标号没撞棋子
  • [ ] 交付给用户的文件后缀已改回 .html
  • [ ] 若托管上线:发布态是否单独同步过(commit 只更新在线编辑版,对外链接不会自动变新)

八、附件

文件 说明
index.html 成品:单文件、零依赖、零联网,双击即玩
references/mizqi-notes.md 完整制作与核验记录:名称考证、规则、几何推导、自测方法、踩坑、发布渠道选型
references/board-comparison.svg 井字棋 / 米字棋 / 成三棋 三种棋盘对比图
scripts/selftest-stub-dom.mjs 桩 DOM 自测脚本(可复用于任何单文件网页)
scripts/selftest-difficulty.mjs 难度行为自测脚本:断言困难档零失误、简单档可赢

> 注:技能图标不在本包内,由发布平台单独存放(用户安装到本地时才会回填图标文件),发布时在控制台上传 512×512 PNG 即可。


作者与联系

  • 作者:安朋康|348760700@qq.com

常见问题

5 问
答案由本站依据条目字段整理
三子棋米字棋怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_5a431656/three-mens-morris。安装方式为未标注。装完刷新技能列表或重开客户端。

三子棋米字棋支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

三子棋米字棋权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

三子棋米字棋收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

三子棋米字棋用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。