这个项目从零到可玩的全过程记录:卡牌数据如何核验、卡面怎么做出来、记牌器的规则口径从哪来,以及每一步验证到了什么程度。
确定纯静态路线:无框架、无构建、无外链资源,13 个源文件全部可离线打开。确立「矿洞暖木底 + 金饰点缀」配色变量表,后续所有页面共用同一套原子样式。
先把官方规则书(Asmodee spl01_rules.pdf)文本全量提取,再拿两套开源卡表做交叉验证,最终锁定 wunnle/splendor-explorer 数据集。选它的决定性证据:官方规则书正文举例的那张卡(3 蓝 + 3 黑 + 6 白 / 4 分 / 蓝折扣),只在其中精确命中,且三级点数分布与官方构成完全吻合(L1 为 35 张 0 分 + 5 张 1 分)。
把资料库页从占位结构改写成完整卡库:总览统计、成本分布条形、四组筛选 + 关键词搜索。卡面从纯 CSS 色块重绘为实体卡牌质感——五种宝石各画一套真实切工 SVG,等级按金属分色(L1 铜 / L2 银 / L3 金),声望做金色圆徽章,贵族配盾形纹章。全部矢量,缩放不糊。
桌边 HUD,规则口径逐条对齐规则书:2 人局每色 4 颗、3–4 人局 5 颗,保留卡立即得 1 金币,明置每级恒 4 张且抽空留空,保留上限 3、token 上限 10、15 分触发终局。买卡扣 token 后明置自动补位,折扣行实时结算,贵族满足条件即高亮可授予。
全站 13 个文件本地与服务器 md5 逐一对齐;清掉服务器上误传的 splendor-site 旧副本;记牌器 24 项自测断言全绿;线上 7 个路径复测全部 200。首页、牌桌页、资料库页均接入记牌器入口。
当前 90 张卡面是矢量宝石切工,清晰度没问题,但缺少主题插画。可选三档:分级主题 3 张(矿山 / 交通 / 工坊)、追加贵族肖像 10 张、或先出 1 张样品确认风格再批量。此项待定,不阻塞现有功能。
| 项目 | 来源 | 核验结果 |
|---|---|---|
| 发展卡总数 | 官方规则书 + 开源数据集 | 90 张(L1 40 / L2 30 / L3 20) |
| 声望总量 | 卡表求和 | 140 分 |
| 三级点数分布 | 规则书构成表 | L1 35×0 分 + 5×1 分;L2 10/15/5;L3 5/10/5 |
| 贵族 | 规则书要件 | 10 位,各 3 分,邀约条件与规则书一致 |
| 银行初置 | 规则书 | 2 人局每色 4 颗,3–4 人局每色 5 颗,黄金 5 枚 |
| 保留卡收益 | 规则书正文 | 拿卡同时立即获得 1 枚金币 |
| 现象 | 根因 | 处置 |
|---|---|---|
| 点击保留卡直接报错 | 函数内引用了未声明的变量 | 补上声明,保留流程恢复正常 |
| 买卡几乎全被拒绝 | 只比对折扣是否覆盖成本,未检查玩家实际持有 token | 重写为折扣与持有量双重校验 |
| 卡库统计数字对不上 | 截图抓到的是数字滚动动画的中间帧 | 改用 DOM 快照核对,数字以终值为准 |
| 开源数据颜色名不认 | 源数据用 black/blue/green/red/white,官方为 onyx/sapphire/emerald/ruby | 建立别名映射统一到官方命名 |
| 文件 | 作用 |
|---|---|
| index.html | 首页 |
| play.html | 牌桌页 |
| counter.html | 牌桌记牌器 |
| assets/base.css | 全部样式与设计变量 |
| assets/main.js | 导航、滚动与数字动画 |
| assets/favicon.svg | 站点图标 |
| help/index.html | 资料库总入口 |
| help/cards.html | 卡牌数据库与卡面渲染 |
| help/data/cards.json | 卡表数据源 |
| help/data/cards.js | 同源 JS 版,供 file:// 离线读取 |
| help/rules.html | 规则详解 |
| help/glossary.html | 术语表 |
| help/strategy.html | 新手策略 |
| help/progress.html | 本页 |
卡面 AI 插画尚未生成,三档方案未选定。它只影响观感,不影响任何规则逻辑与现有页面,随时可以补。