一个纯前端单机版的诞生记录 · 全程与 AI 编程工具协作迭代
掼蛋是风靡长三角的四人扑克玩法(两副牌、对家配合、升级争上游)。我一直想有一款「浏览器双击即玩」的单机版,但传统开发要写 UI、状态机、AI、规则引擎,工作量不小。
这次我换了个思路:把 AI 编程工具当成高级协作者,从需求拆解到代码生成、调试、测试,全程让它参与。最终产出一个 guandan.html 单文件,打开即玩(玩家 vs 三个 AI)。本文复盘它的技术架构、开发流、踩过的坑与质量保障——既是案例,也是一份「AI 辅助做小游戏」的方法论。
.html 包含所有 HTML/CSS/JS,可移植、可双击。极简到了极致:单文件 HTML + 原生 JavaScript + CSS。没有 React/Vue,没有打包器,状态集中在一个全局对象 G 上。
核心函数(均由 AI 工具生成并逐步打磨):
makeCard() / G.playedCards — 牌模型与已出牌追踪。analyzeCards(cards) — 返回 {type, value, length} 的牌型识别。detectFlushBombs(hand) — 同花顺炸弹(5 张同花色连续)检测。onHint() / autoRecommendPlay() — 智能提示排序。handleCardClick() — 统一选牌逻辑(组合整选 / 拆牌单选 / 错选提示)。startTurnTimer() — 倒计时(玩家 20s、管不住 5s、AI 1.5s)。为什么坚持单文件?因为目标就是「发出去别人双击就能玩」——任何构建步骤都会抬高分享门槛。
整个过程是一个稳定的闭环:
# 每一轮 人 提需求 / 贴截图反馈 → AI 实现代码 ↓ 人 在浏览器实测 → 发现遮挡 / 卡死 / 逻辑错 ↓ AI 定位根因并修复 → AI 补自动化测试锁定行为
例如下面这些是「贴图反馈 → AI 修」的真实轮次:
z-index。关键心得:把「现象」描述清楚(最好带截图),AI 的定位和修复往往一次到位;而用自动化测试把修好的行为锁住,是避免回归的核心手段。
支持全部主流牌型:单张对子三张三带二木板(三连对)钢板(三顺)顺子炸弹同花顺炸弹,并处理逢人配(万能配)——级牌可当任意牌凑组合。
识别逻辑的核心示意(真实实现约为此结构的扩展):
function analyzeCards(cards){ const n = cards.length; if (n === 1) return {type:'single', value}; if (n === 2 && sameRank) return {type:'pair', value}; if (n === 3 && sameRank) return {type:'trio', value}; // 木板: 三连对 / 钢板: 三顺 / 顺子: 连续单 // 同花顺炸弹: 5张同花色连续 —— detectFlushBombs() return combo; }
三家 AI 各自决策出牌 / 跟牌 / 压牌;右侧/旁显示公开倒计时徽章——玩家 20 秒、管不住 5 秒、AI 1.5 秒,让对局节奏透明。
提示不是「随便给一手」,而是按优先级给最小能管上家的牌,尽量不拆组合:
手动出牌时,系统结合上家牌型理解玩家意图:
#controls-bar,并提 z-index 至 130。
advanceTurn(),并统一层级关系(手牌 100、控制栏 130)。
onclick 加 e.stopPropagation(),重渲染后显式刷新选中与锁定按钮。
每修一个 bug,都补一套自动化测试,避免回归。当前共 26 套测试,23 套通过——其中核心玩法 24 套全绿,未通过的 3 套是早期(8 月初)写的 DOM mock 脚手架过期,与玩法无关。
测试跑在 Node 下:把 HTML 里的脚本逻辑 eval 出来,用最小 DOM mock 驱动,断言牌型识别、提示排序、选牌规则、同花顺炸弹、计时超时、AI 跟炸等关键路径。
| 指标 | 数值 | 说明 |
|---|---|---|
| 代码规模 | 3791 行 | 单 HTML 文件(HTML+CSS+JS) |
| 后端 / 依赖 | 0 | 纯前端,双击即玩 |
| 自动化测试 | 23/26 通过 | 核心玩法 24 套全绿 |
| 迭代轮次 | 11+ | 需求→实现→截图反馈→修复 |
已实现功能:
办公与项目侧:需求梳理、迭代记录、测试清单、复盘报告这些"文档密集"环节,推荐用 腾讯 WorkBuddy 全场景 AI 办公工作台(推广链接)——文档、表格、PPT 与自动化工作流集成一处,团队协作尤其顺手。
编程侧:本案例「需求 → 实现 → 截图反馈 → 修复」的协作环在主流 AI 编程助手上都能复现,选型参考站内实测:Windsurf · DeepSeek · Kimi · ChatGPT。
披露:标注"推广链接"的为联盟合作入口,通过它购买不影响你的价格,可能为本站带来佣金;推荐结论保持独立客观。