# 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` 单源、服务端 `` 链接(设计 §10.1)。 ## AI 兜底(匹配超时) - 本游戏为 2 人对战。匹配超过 **15 秒**仍未凑齐真人时,服务器用本游戏自带的 AI 补位,真人与 AI 继续对局。 - AI 逻辑在服务端薄层 `RPS.Server`(C#)中实现,框架不实现具体玩法 AI。 - AI 出招为等概率随机,且不读取真人本回合的选择,保证公平。 - 结算时 AI 玩家以 `isAI = true` 标记,客户端显示对手为 “AI”。 通用规则详见 `Doc/独立游戏系统设计文档.md` 第 13 节。