跳到主要内容

案例设计:先把合成小游戏说完整

贯穿案例是一款竖屏、4×4 网格的休闲合成小游戏。玩家把两个同等级物品拖到一起,目标格得到高一级物品,源格清空,分数增加。这个案例用于串起系统,不代表完整商业产品。

4×4 棋盘中两个同级物品合成为更高级物品并更新分数的概念示意

第一版的规则​

问题本案例的约定
空格怎样表示等级 0;物品等级从 1 开始
什么可以合成两个不同格子、相同非零等级,且低于最高等级
合成结果放哪里目标格;源格变空
不同等级或越界状态不变,视图返回原位
分数怎样增加按合成后的等级查固定规则;示例代码用固定 10 分简化
动画期间怎么办第一版锁定操作,结束或取消都能释放
怎样恢复从业务存档重建棋盘与分数

核心案例不默认允许把物品移动到空格。 如果你需要这种行为,把它定义为另一种合法命令,并补充测试。不要让 AI 在实现拖拽时悄悄替你选择玩法。

按职责拆成四部分​

规则不依赖屏幕位置,视图不凭图片猜等级,平台服务不直接偷偷改棋盘。这样的边界足够清晰,也不需要复杂架构框架。

一次完整交互​

玩家把两个同等级物品合并,目标物品升级,源格清空并更新得分
GIF 是规则结果与视觉反馈的示意。真正实现时,先提交状态,再播放反馈。

开始时记录源格,拖动期间只改变预览位置。放下时命中目标格并提交命令。合法就更新状态、刷新视图并标记存档;不合法则原位恢复,分数不变。

这个顺序可以避免“玩家还没松手,存档已经变了”或“动画被打断,奖励就丢了”的问题。

分阶段让 AI 实现​

  1. 规则阶段:只做纯 C# 棋盘和操作结果,覆盖合法与非法输入。
  2. 显示阶段:根据状态创建物品视图,让同一状态可以重复刷新。
  3. 交互阶段:把拖拽转换成源格与目标格,暂不做复杂特效。
  4. 反馈阶段:加入弹出、音效、分数变化,补齐中断与清理。
  5. 持久化阶段:保存、恢复、损坏回退和版本迁移。
  6. 平台阶段:接入广告、登录与排行,分别验证失败路径。

每阶段都保留一个最小可验证结果。出现错误时能回到上一阶段检查,而不是在一大块生成代码里寻找原因。

场景结构怎样说给 AI​

MergeScene
├─ Bootstrap 初始化、存档加载与流程连接
├─ EventSystem 与输入方案匹配的输入模块
└─ Canvas
└─ SafeAreaRoot
├─ Header 分数、设置
├─ BoardRoot 16 个格子与物品视图
├─ DragLayer 拖动中的显示层
└─ OverlayRoot 暂停、提示、结算

这是建议结构,不是必须照抄的框架。关键是说明对象职责、引用来源和坐标约定。下一章:合成规则与可测试状态。