2.0 KiB
2.0 KiB
projects/ —— 旧版 HTML5 前端
前端模板 Game_Surface_3 与子游戏
四层结构(自底向上):
- 引擎层 ——
js/gameabc.min.js(gameabc 精灵引擎)+ Spine(spine-canvas.js/SpineMgr.js)+ Canvas 渲染;提供触屏/定时器/资源/WebSocket 底层回调。 - 桥接层 ——
js/gamemain.js:统一事件总线,把引擎回调分发到平台 UI、子游戏Game_Modify、对战逻辑。 - 平台层 ——
js/00_Surface/*(12 个文件):登录、大厅、房间、聊天、社交、网络、资源、排行、任务等通用能力。子游戏间几乎不变。 - 子游戏层 ——
js/01_SubGame/*(3 个文件):只实现本游戏的对局逻辑与房间 UI。
平台层关键文件(js/00_Surface/): 02_Const.js(ConstVal/AppList/路由表)、04_Data.js(GameData 全局态)、09_Net.js(Net._SendData() 收发分发)、12_Logic.js(Logic 连接/重连/分发编排)、07_Desk.js(Desk 房间状态机)、06_Player.js(C_Player/Player 数据结构)、11_GameUI.js(平台 UI)、00_minhttp.js(WebSocket 底层封装)。
子游戏层(js/01_SubGame/,开发子游戏 = 改这 3 个文件 + 美术数据):
00_SubGame_Config.js——Game_Config(房间数、气泡位置、分享、调试开关)01_SubGame_modify.js——Game_Modify/gameCombat(对局实现 + 房间/胜负 UI)02_SubGame_Input.js—— 平台回调钩子(模板里是桩,子游戏覆写为真实逻辑)- 另需补充:
gamemain.js(扩展对局初始化)、专用算法模块(牌型/出牌等)、美术数据output/gameabc_data.min.js。
状态归属: 平台层维护 Desk(房间/座位)、C_Player(自己)、GameData(连接/资产);子游戏维护对局态(手牌、出牌历史、轮次、分数)于自身命名空间,并需可序列化为 deskinfo 以支持断线重连。