作业要求
- 列出游戏中提及的事物(Objects)
- 用表格列出玩家动作表(规则表),注意,动作越少越好
- 请将游戏中对象做成预制
- 在场景控制器
LoadResources
方法中加载并初始化 长方形、正方形、球 及其色彩代表游戏中的对象。 - 使用 C# 集合类型 有效组织对象
- 整个游戏仅 主摄像机 和 一个 Empty 对象, 其他对象必须代码动态生成!!! 。 整个游戏不许出现 Find 游戏对象, SendMessage 这类突破程序结构的 通讯耦合 语句。 违背本条准则,不给分
- 请使用课件架构图编程,不接受非 MVC 结构程序
- 注意细节,例如:船未靠岸,牧师与魔鬼上下船运动中,均不能接受用户事件!
游戏规则
牧师与恶魔需要从岸的一端到达另一端,河上只有一条船,一条船只能坐两个角色,并且至少需要一个角色在船上船才可以行驶。并且,如果在某一侧(包括岸上和船上),恶魔的数量大于牧师的数量,牧师就会被恶魔吃掉(如果仅有恶魔则无事发生),游戏失败。玩家要安排牧师与恶魔的过河顺序,让牧师与恶魔全部到达另一边岸上,才能游戏通关。
MVC架构
MVC是界面人机交互程序设计的一种架构模式。它把程序分为三个部分:
- 模型(Model):数据对象及关系
- 游戏对象、空间关系
- 控制器(Controller):接受用户事件,控制模型的变化
- 一个场景一个主控制器
- 至少实现与玩家交互的接口(IPlayerAction)
- 实现或管理运动
- 界面(View):显示模型,将人机交互事件交给控制器处理
- 处收 Input 事件
- 渲染 GUI ,接收事件
基于职责的设计与游戏的MVC总体框架
面向对象设计的核心:基于职责的设计
即:模拟人类组织管理社会的方法,根据不同人拥有资源、知识与技能的不同,赋予不同人(或对象)特定的职责。再按一定结构(如设计模式),将它们组织起来。
先直接给出游戏框架设计:
按 基于职责的设计 的设计理念,设计一个游戏如同组织一场话剧。既然要搞话剧或游戏,就至少需要以下角色:
- 导演,1名(仅要一个)
- 类型:SSDriector
- 职责:把握全局;控制场景
- 场记若干,话剧有很多场,每场需要一个。
- 抽象类型(角色):ISceneController
- 具体类型:FirstController
- 职责:第一场的场记,控制布景、演员的上下场、管理动作等执行
- 吃瓜群众,1个
- 抽象类型(角色):IUserAction
- 具体类型:UserGUI
- 职责:边吃瓜子边和场记聊天
两种结合,导演决定调用哪一个Scene,场记相当于controller,游戏中的object就是model,GUI就是view。
Object表:
动作表(规则表)
将资源对象做成预制
代码地址:点击跳转
演示视频:
牧师与恶魔