我对as3游戏开发有点新意,但我想为Connect Four游戏创建一个有点灵活的基础 . 我希望能够为游戏板和游戏部件打造皮肤 . 这是我到目前为止所想的 . 如果有人有建议我真的很感激:
GameController扩展了EventDispatcher - 包含所有游戏网格操作方法 . - 包括2D数组以跟踪GamePiece位置 - 在调用方法时调试后调度事件
GameClass扩展Sprite: - 保存棋盘的可视元素 - MouseEvent Listeners附加到可视元素,调用控制器方法 - (自定义)ControllerEvent侦听器在GameController调度时更新视觉外观
GamePiece类扩展Sprite: - 保持片段的列/行位置 - 保持currentPlayer索引 - 将PNG URL加载为皮肤
这是粗略的轮廓 . 任何危险信号或其他建议都非常感谢 .
1 回答
听起来GridController将承担混合责任;在MVC架构中,Controller的职责是将数据从Model转移到View . 就个人而言,我会考虑使用GridModel来保存底层多维数组,该数组代表网格和添加片段的方法,例如:
Controller的主要作用是监听模型调度的事件,然后相应地更新View(DisplayList) . 同样地,您的View应该根据用户交互来调度事件(例如:玩家1表示他们希望将一个部分放入第二列);然后,Controller可以调用Model上的相关方法 .
以下代码段应该为您提供一些指示,说明控制器的责任是什么;不要忘记你可以(而且应该!)通过使用多个模型,视图和(如果需要的话)控制器来减轻你的责任 .