RockPaperScissors(石头剪刀布)
本目录是石头剪刀布小游戏的客户端源文件根目录,遵循统一的小游戏目录规范(见
docs/superpowers/specs/2026-06-18-csharp-hotfix-minigame-architecture-design.md §2.4):
MiniGames/RockPaperScissors/
scripts/ # 客户端脚本(C# 热更源码:薄层 IGameClient + 链接的共享 Core)
res/ # 美术 / UI / 音效(打成 AssetBundle)
打热更包时,scripts/ 编出的热更 DLL(以 .bytes 形式)与 res/ 的美术资源一起打成 AB 包,
上传到服务器对应的下载目录(见设计文档 §3.1)。
当前状态(C# 客户端已落地)
res/UI/Texture/:三张出招贴图(rock / paper / scissors),将随 AB 打包。scripts/Client/:客户端薄层 C# 实现RpsGameClient(IGameClient),由 Unity/HybridCLR 编译为热更 DLL; 另有Client/HotUpdateGames/RPS.Client/RPS.Client.csproj链接同一份源做 csc 编译验证。- 共享核心
RPS.Core(规则/状态/编解码)与服务端薄层RPS.Server(IGameServerRoom)的 C# 源码在Server/games-src/RPS/(旧 Lua 版已删除)。 - 待办(独立改造,须 Unity):将
RPS.Core收敛为scripts/Core单源、服务端<Compile Include>链接(设计 §10.1)。
AI 兜底(匹配超时)
- 本游戏为 2 人对战。匹配超过 15 秒仍未凑齐真人时,服务器用本游戏自带的 AI 补位,真人与 AI 继续对局。
- AI 逻辑在服务端薄层
RPS.Server(C#)中实现,框架不实现具体玩法 AI。 - AI 出招为等概率随机,且不读取真人本回合的选择,保证公平。
- 结算时 AI 玩家以
isAI = true标记,客户端显示对手为 “AI”。
通用规则详见 Doc/独立游戏系统设计文档.md 第 13 节。