跳转到内容

对照小练 A · 把闭环 1 改成两人猜数字

约 2 分钟 难度:2

这一章解决:闭环 1 用一个具体玩法(按按钮加分)把骨架展示了一遍。本小练用一个回合制猜数字的玩法验证同一架构的迁移能力。

先看一下

闭环 1 是合作型的:所有玩家一起加分,没人会冲突。如果把玩法换成两人对抗的回合制猜数字(系统出一个 1–100 的目标数,两人轮流猜,谁先猜中谁赢),架构里只要改三个地方就能跑:阶段名、轮次玩家、胜负条件。

这次改造能让状态机的”阶段”、“轮次”、“胜负”作为可参数化部件浮现出来,骨架不变。

这一章会拿到什么

  • 把闭环 1 的”按按钮加分”改成”两人轮流猜数字”的具体方案
  • 一份”哪些字段需要改、哪些字段保留”的对照表
  • 同一架构在不同玩法上的复用证据

依赖前面

  • 闭环 1 的完整脚本

这一节是对照小练 A,写完后会包含:

不重写整个项目,给一份”改这几行就行”的修改清单:

  • Phase 枚举:LobbyLobby / InGame / Result 不变,但 InGame 内部增加 WaitingForGuess / JudgingGuess 两个微阶段(或者用 currentTurnPlayerId 字段表达)
  • score 字段语义改变:从”加分”变成”是否猜中”。可能改成 winnerId
  • targetNumber 是新增字段:开局时由 Master 随机生成。
  • 玩家输入入口:原来是”按按钮”,现在改为”输入猜测数字”。可以用 VRChat 的简单输入组件。
  • 阶段切换的代码骨架
  • 迟入恢复的同步变量结构
  • Debug 测试矩阵的整体框架
  • 这个回合制玩法在迟入时会遇到什么问题?(提示:迟入玩家进来时,已经是某位玩家的回合。他能加入吗?)
  • 想做”三人猜数字”,骨架要改哪几处?(指向第二部 PlayerObject)

占位

  • 能解释闭环 1 和本小练在状态结构上的差异
  • 能说出哪些字段是”玩法独有的”,哪些是”骨架共用的”