- 10 种玩法 — 每日 5 题、找宝可梦、剪影猜、属性猜、Wordle 猜、特性猜、道具猜、招式猜、种族值猜、属性数独,另有冲刺模式。
- 全国同题,无定时任务 — 用
EPOCH + 日期差做确定性散列取题(POOL[(n*k+c) % len]),同一天全国同一道题,不需要出题落库、不需要 cron。 - 服务端判分 — 答案与判分逻辑全部在云函数,客户端只收线索;每日进度按
openid + date落在各*Records集合。 - 对比板 clue — 猜错给世代/种族值/属性/尺寸/阶段多维对比,色码区分一致/接近/不符,数值列带 ↑↓ 方向。
- 剪影防作弊 — 剪影素材文件名是随机 key,客户端包里没有 key 到名字的映射,想扒包也对不上号。
- 渐进揭示交互 — 剪影从 2.0x 局部放大(只露一角)开始,每猜错一次拉远,猜中或次数用尽才淡入彩图揭晓。
← 返回作品集
训练家每日挑战 · 宝可梦猜谜小程序
10 种玩法 · 全国同题 · 服务端判分
面向宝可梦玩家的一款猜谜小程序,微信原生小程序 + 云开发 NoSQL,不自建服务器。 起因很朴素:每天 5 题的答题玩久了会腻。于是把「猜」这件事拆成不同信息维度——图鉴描述、属性、 剪影、招式、道具、种族值,一口气做到 10 种玩法,每天换着来。
架构上的关键取舍是 答案不下发:客户端只拿题面和线索,判分、连胜、百分位全部在 云函数里算完再回传。这样规则改动不用发版,也堵掉了前端改分的空间。
数据全部来自开源 PokeAPI 离线生成,只用文字数据规避版权风险;1100+ 道题、1000+ 只宝可梦的素材 走自建 CDN 分发,小程序主包始终控制在 1MB 以内。
微信原生小程序
云开发 NoSQL
云函数 ×11
Node.js 数据管线
Python PIL
CDN 静态分发
核心能力
工程亮点
- 数据管线可复现 — Node 脚本抓 PokeAPI(1025 只,其中 722 只有中文描述),固定种子生成题库,改题后重跑即一致产出。
- 干扰项相似度打分 — 初版题干被反馈「一眼看出答案」,改为按同主属性/同世代/体型接近加权打分,94% 干扰项与主属性同系。
- 剪影资源管线 — Python 读官方 artwork 的 alpha 通道二值化出透明剪影,再同 bbox 生成彩图,页面叠层对齐;151 只素材不到 1MB。
- 本地测试护栏 — 各玩法核心逻辑抽成无 SDK 依赖的纯函数,配本地测试脚本(取题确定性、隔日不同、素材完整性)先跑通再部署。