把麦当劳菜单变成宝可梦图鉴。 每个餐品都是一个物种,营养值就是种族值,套餐是组合技,限定品是闪光——吃饭就是抓宠,点单就是组队。
麦当劳程序员节创意开发大赛参赛作品 | 基于麦当劳 MCP 开发 | 用 WorkBuddy 辅助开发
你有没有过这种时刻:打开麦当劳菜单,明明只是想吃个午饭,却感觉在看一张生物图鉴?
- 巨无霸明明就是经典线的最终形态(汉堡包 → 麦香鱼 → 巨无霸);
- 小薯/中薯/大薯就是同一条进化链,进化只会长个;
- 圆筒冰淇淋会在草莓麦旋风和奥利奥麦旋风之间分支进化;
- 姜饼风味拿铁这种季节限定,就是闪光个体——错过了要再等一年。
麦麦图鉴把这一切做成了真的。它读取麦当劳 MCP 的官方餐品营养数据,把每样餐品编目成图鉴物种:科属、稀有度、进化线、种族值,一应俱全。你今天吃的每一顿,都是一次图鉴收集。
📺 麦麦图鉴(捕获率 3/160)
— 堡堡科 —
🍔 №MCD029 巨无霸 ★史诗
▪ №MCD030 培根蔬萃双层牛堡 ★史诗 ← 还没抓到
— 薯薯科 —
🍟 №MCD006 大薯条 ◆稀有
— 彩蛋科 —
✨ №MCD147 “苹板”支撑Pro ✨闪光
🍔 №MCD029 巨无霸 |堡堡科 |★史诗 |经典牛线·第3阶
种族值 HP162 攻击141 防御123 特攻127 特防156 速度128
厚实可靠的主力选手。单层还是双层,决定它是同伴还是BOSS。(图鉴备注:该个体战斗力和满足感都属于顶级梯队。)
| 玩法 | 说明 |
|---|---|
| 🌲 出门觅食(主玩法) | 随机遭遇战:草丛晃动,只露剪影——「???: 一阵特别的气息,像是限时活动才有的东西……」丢出薯条盒,三晃判定,稀有度越高越容易挣脱(闪光收服率仅约19%),逮到了图鉴卡当场展开 |
| 🎫 随机掉券 | 收服成功后 50% 概率草丛掉落一张真实麦麦省券(来自官方券池,只播报不代领) |
| 看图鉴 | 全物种列表、按科属/稀有度/关键词检索,未捕获的只有剪影 |
| 组队伍 | 把你今天点的东西加进队伍,捕获播报直接亮出每只的完整图鉴卡(种族值 + 官方营养原值) |
| 查合计 | 队伍总热量/蛋白质/脂肪/钠…对照每日参考值的百分比条 |
| 触发组合技 | 堡+薯+可乐=「经典铁三角」,双辣同场=「双辣共鸣」,限定品=「闪光捕获」……7 种组合技等你自己撞出来 |
| 集成就 | 初训师、闪光猎人、全图鉴…… 8 个成就,达成即时播报,存档自动记录 |
| 🎫 券感知(需 Token) | 查当前麦麦省券池,自动匹配你图鉴里的物种——「你抓过的这只,今天有券」。只读不领,领券走官方渠道 |
| ✨ 闪光预报(需 Token) | 解析官方活动日历,上新/限定/联名/回归动向提前预警——「错过再等一年」从文案变成行动提醒 |
核心信条:吃饭就是抓宠,点单就是组队。
遭遇战实况:
🌲 草丛晃了一下……
???: 个头不小,动静很大,不太好对付的样子。
▟▙ ??? |堡堡科 |史诗
丢薯条盒按 y,转身离开按 n > y
第1晃 … 稳住没挣脱。
第2晃 … 稳住没挣脱。
第3晃 … 薯条盒晃了晃……它探出头来!
💨 它挣脱薯条盒跑了……下次手快点。
最省事:克隆后双击 开始图鉴.command(macOS),菜单式交互,推荐从这进。
git clone https://github.com/demian-mo/mcd-dex.git
cd mcd-dex
# 方式一:双击(macOS)——「开始图鉴.command」,菜单式游玩
# 方式二:交互模式
python3 play.py
# 方式三:命令行直用
python3 mcd_dex/dex_engine.py grid # 查看图鉴(160 只官方数据)
python3 mcd_dex/dex_engine.py find 巨无霸 # 查询某只
python3 mcd_dex/dex_engine.py team MCD029 MCD006 MCD031 # 组队
python3 mcd_dex/dex_engine.py achieve # 成就
# 实时情报(需 MCP Token)
python3 mcd_dex/dex_engine.py coupons # 券感知
python3 mcd_dex/dex_engine.py shiny # 闪光预报零第三方依赖,Python 3.9+ 直接跑。仓库自带的
data/dex.json已是官方数据同步结果,开箱即玩。
图鉴数据全部来自麦当劳 MCP 官方营养接口(list-nutrition-foods),160 只麦麦的营养值(能量/蛋白质/脂肪/碳水/钠/钙)均为官方原值,项目不做任何数值编造。科属、稀有度、进化线是本项目的「编目规则」——公开、可改、欢迎拍砖。
想重新同步最新菜单(麦当劳上新即生效):
export MCD_MCP_TOKEN=你的Token # open.mcd.cn/mcp 免费申请
python3 scripts/fetch_dex.py| 属性 | 来源营养素 | 一本正经的理由 |
|---|---|---|
| HP | 能量 kcal | 血条厚度 |
| 攻击 | 蛋白质 | 力量来自蛋白 |
| 防御 | 脂肪 | 物理缓冲层 |
| 特攻 | 热量密度 | 能量轰炸 |
| 特防 | 钙 | 骨骼坚固 |
| 速度 | 碳水化合物 | 快充能量 |
数值全部来自麦当劳官方营养接口,映射规则公开在 mcd_dex/dex_engine.py,欢迎拍砖。
mcd-dex/
├── 开始图鉴.command # macOS 双击即玩入口
├── play.py # 交互模式(菜单式游玩,含遭遇战)
├── mcd_dex/
│ ├── dex_engine.py # 图鉴引擎:物种/种族值/遭遇战/薯条盒捕捉/组合技/存档/成就
│ ├── live.py # 实时情报:券感知 + 闪光预报 + 掉券池(MCP,只读)
│ └── mcp_client.py # 麦当劳 MCP 客户端(零依赖,urllib 实现)
├── scripts/
│ └── fetch_dex.py # 官方营养数据 -> 图鉴 同步脚本
├── data/
│ └── dex.json # 图鉴数据(官方同步结果,160 只)
├── tests/
│ └── test_engine.py # 自测(33 项)
├── CONTEST_DECLARATION.md # 参赛声明
├── MCP_INTEGRATION.md # MCP 接入说明
├── mcp-config.example.json # 脱敏 MCP 配置示例
└── workbuddy.md # WorkBuddy 开发对话记录
- 图鉴营养数值全部来自麦当劳 MCP 官方接口;「科属/稀有度/进化线/图鉴描述」为项目编目规则,非麦当劳官方分类;
- 队伍合计中的「每日参考值」为公开膳食指南的常用近似,仅供参考,不构成营养建议;
- 本作品为大赛参赛作品,非麦当劳官方产品;餐品信息以麦当劳官方渠道实时数据为准。
MIT(麦当劳相关商标权利归麦当劳所有,本项目仅作大赛参赛用途)。