hw7-模型与动画作业

作业内容:智能巡逻兵

  • 游戏设计要求:
  1. 创建一个地图和若干巡逻兵(使用动画);
  2. 每个巡逻兵走一个3~5个边的凸多边型,位置数据是相对地址。即每次确定下一个目标位置,用自己当前位置为原点计算;
  3. 巡逻兵碰撞到障碍物,则会自动选下一个点为目标;
  4. 巡逻兵在设定范围内感知到玩家,会自动追击玩家;
  5. 失去玩家目标后,继续巡逻;
  6. 计分:玩家每次甩掉一个巡逻兵计一分,与巡逻兵碰撞游戏结束;
  • 程序设计要求
  1. 必须使用订阅与发布模式传消息
  2. 工厂模式生产巡逻兵
  • 友善提示1:生成 3~5个边的凸多边型
  1. 随机生成矩形
  2. 在矩形每个边上随机找点,可得到 3 - 4 的凸多边型
  • 友善提示2:参考以前博客,给出自己新玩法

作业设计

MVC架构图

由于新增了订阅与发布模式,所以MVC架构图参考了以往博客的UML图。
在这里插入图片描述

具体设计

1.PatrolFactory
(1)工厂模式生成巡逻兵。一共有9个巡逻兵,活动范围固定,并且用列表记录。
在这里插入图片描述
(2)当游戏结束的时候,所有的巡逻兵都会停止动作。
在这里插入图片描述
(3)巡逻兵的状态有Idle、Walk、Exit这几个。
在这里插入图片描述
2.CameraFlow
相机跟随玩家移动。
在这里插入图片描述
3.发布与订阅模式
由FirstSceneController控制游戏的开始和结束。当Actor触发了某些游戏规则,就可以发布相应的信息,然后通过信息的参数,订阅者就会做出相应的动作。除了巡逻兵是订阅者,SceneController也是订阅者,因为需要处理加分的事项。
在这里插入图片描述
事件控制管理:当玩家避开追踪和碰撞到巡逻兵时分别触发加分和游戏结束事件。
在这里插入图片描述
4.玩家和巡逻兵
(1)巡逻兵的数据
包括巡逻兵的区域编号、是否跟随玩家、初始位置等等。
在这里插入图片描述
(2)巡逻兵追击玩家
当玩家进入巡逻兵的活动范围时,巡逻兵会主动追击玩家;如果玩家离开追击范围后,巡逻兵不再攻击。
在这里插入图片描述
(3)巡逻兵的动作管理
根据事件的触发,实现各个动作的切换。
在这里插入图片描述
5.游戏规则和界面
一共有9个巡逻兵,在屏幕显示分数和操作规则“按WSAD键或方向键控制移动”。玩家成功躲避一个巡逻兵加1分,累计10分即游戏胜利,失败则可重新开始游戏。
在这里插入图片描述

源代码和游戏视频

见我的Github

参考博客

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值