跳转到内容

闭环 1 · 单 Master Owner 的极简一局

约 2 分钟 难度:2

这一章解决:把第一部的所有概念(状态分类、四种通道、Owner、手动同步、迟入恢复、网络预算、Debug 测试)合在一起,做出第一个能跑的”一局”。

先看一下

第一部七章的每个样例单看都能跑,但还没合成一局完整游戏。这一章把它们合起来:玩家进入大厅,按 Start 进入比赛,按按钮加分,到分数上限或时间结束进入结算,按 Restart 回到大厅。

为了让这一闭环简单,所有状态都归 Master Owner 托管。这是 Vol.1 留下的旧默认习惯。本闭环之后第二部会指出这个习惯的两个缺陷,并给出 PlayerObject + GameState 的修复方案。

这一章会拿到什么

  • 一个能跑通完整一局流程的最小示例
  • 一份本闭环保留的两个缺陷的清单(待第二部修)
  • 一套能复用到后续闭环的项目骨架

依赖前面

  • 第一部第 1–7 章的所有概念
  • 理解章 A 的”同步即状态复制”心智模型

这一章是闭环 1,写完后会包含:

  • 大厅状态:所有玩家在同一个 Lobby 阶段,能看到「等待开始」UI
  • 开始流程:Master 按下 Start 按钮,所有人切换到 InGame 阶段
  • 计分:玩家点击场景里的目标加 1 分,分数同步给所有人
  • 结算:到分数上限或时间结束,进入 Result 阶段,显示最终分数
  • 重开:Master 按 Restart 回到 Lobby

本次保留的缺陷(待第二部修)

Section titled “本次保留的缺陷(待第二部修)”
  • 缺陷 1:所有状态归 Master Owner。Master 离开后整局丢失,没法续。
  • 缺陷 2:所有玩家的 Ready 状态共用一份字段,没法独立。两个玩家同时按 Ready 会互相覆盖。

待写。提供一份可直接粘贴的 GameLoopMaster.cs,每行带注释。

写作时遵循章首钩子四元素 + 章末三件套硬结构(design/writing-cheatsheet.md)。

占位

场景预期实际
两个客户端 Build & Test,跑完整一局
第三个玩家在 InGame 阶段迟入
Master 在 InGame 阶段离开…(这是缺陷 1 的暴露场景)
  • 能解释为什么本闭环里 Master 一离开整局就丢
  • 能复述四个阶段(Lobby / InGame / Result / Restart)的状态字段