规则文档理清楚,开始代码层面对比和校对
This commit is contained in:
@@ -88,6 +88,11 @@ server/<游戏容器目录>/<游戏>/ ← 子游戏接入后**唯一
|
||||
|
||||
注意:`server/docs/development-guide/` 是 `docs/server/development-guide/` 的旧版、部分过期的副本(例如它仍写死可编辑目录为 `games2/`,而新版已改为「容器目录名不再框架强制」)。两者冲突时以 `docs/server/development-guide/` 为准。
|
||||
|
||||
具体子游戏「二七王」(`server/games/erqiwang/`)另有两份权威文档,改动该子游戏前必读:
|
||||
|
||||
- `server/games/erqiwang/docs/design/design.md` —— **二七王玩法规则的唯一权威说明,必须严格遵守**。牌局构成、主牌顺序、叫分坐庄、出牌/跟牌/甩牌、捡分扣底、算子升级、算奖、房间选项等一切玩法规则以此为准;代码实现与该文档冲突时,属于代码缺陷,应改代码去符合规则(除非该规则项标注为「待确认」),**不得反过来改规则去迁就代码**。
|
||||
- `server/games/erqiwang/docs/protocol/packet_protocol.md` —— 二七王前后端收发包协议与包数据定义,**必须完全符合代码实现(`server/games/erqiwang/*.js`)**。方向与 design.md 相反:协议文档是对既有代码行为的如实记录,两者不一致时以**代码为准**——应修改本协议文档去适配代码;代码新增/删除包或字段时,也要同步补全/删除本文档对应条目。
|
||||
|
||||
两套文档中反复强调的硬性规则(文档记载均对应过真实事故):
|
||||
- 全面严格 ES5(`var`/`function`,继承用 `Object.create`;禁止 `let/const`/箭头函数/模板字符串/`class`/解构/`Promise`)。
|
||||
- 服务端 `require` 只能写在文件开头的守卫块内(`if (typeof require !== 'undefined') { var X = require(...); }`)——禁止在函数体内中途 `require`;两个运行时之后统一按同一个全局名引用。
|
||||
|
||||
Reference in New Issue
Block a user