3D游戏编程与设计——牧师与恶魔

作业要求

  • 列出游戏中提及的事物(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表:

动作表(规则表)

将资源对象做成预制

代码地址:点击跳转

演示视频:

牧师与恶魔

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值