3D作业7--模型与动画作业

游戏要求

游戏规则

  • 使用WSAD或方向键上下左右移动player,进入巡逻兵的追捕后逃脱可积累一分,若与巡逻兵碰撞则游戏结束,收集完地图上的所有水晶即可获胜。

游戏设计要求:

  1. 创建一个地图和若干巡逻兵(使用动画);
  2. 每个巡逻兵走一个3~5个边的凸多边型,位置数据是相对地址。即每次确定下一个目标位置,用自己当前位置为原点计算;
  3. 巡逻兵碰撞到障碍物,则会自动选下一个点为目标;
  4. 巡逻兵在设定范围内感知到玩家,会自动追击玩家;
  5. 失去玩家目标后,继续巡逻;
  6. 计分:玩家每次甩掉一个巡逻兵计一分,与巡逻兵碰撞游戏结束;

程序设计要求:

必须使用订阅与发布模式传消息
工厂模式生产巡逻兵

订阅与发布模式

订阅与发布模式

就像我们订阅报刊,有什么时事新闻出现,报社(发布者)可以第一时间印刷数百份乃至数千份报纸(传播媒介),发到各个订阅了该报纸的人(订阅者)手上,这样就完成了信息传播。

与观察者模式的区别

在观察者模式中,观察者需要直接订阅目标事件;在目标发出内容改变的事件后,直接接收事件并作出响应,往往发布者需要对所有的观察者维持一个列表,从而在每次发生变化时通知所有观察者。在发布订阅模式中,发布者和订阅者之间多了一个发布通道;一方面从发布者接收事件,另一方面向订阅者发布事件;订阅者需要从事件通道订阅事件,以此避免发布者和订阅者之间产生依赖关系,从而降低代码的耦合性。

UML类图

这里参照的是师兄的博客,所以直接借用了他的UML类图。
在这里插入图片描述

程序设计过程

主要使用了MVC的架构和使用订阅与发布模式传消息
详细代码请见我的GitHub

参照博客

https://blog.csdn.net/C486C/article/details/80153548

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章