3D作業7--模型與動畫作業

遊戲要求

遊戲規則

  • 使用WSAD或方向鍵上下左右移動player,進入巡邏兵的追捕後逃脫可積累一分,若與巡邏兵碰撞則遊戲結束,收集完地圖上的所有水晶即可獲勝。

遊戲設計要求:

  1. 創建一個地圖和若干巡邏兵(使用動畫);
  2. 每個巡邏兵走一個3~5個邊的凸多邊型,位置數據是相對地址。即每次確定下一個目標位置,用自己當前位置爲原點計算;
  3. 巡邏兵碰撞到障礙物,則會自動選下一個點爲目標;
  4. 巡邏兵在設定範圍內感知到玩家,會自動追擊玩家;
  5. 失去玩家目標後,繼續巡邏;
  6. 計分:玩家每次甩掉一個巡邏兵計一分,與巡邏兵碰撞遊戲結束;

程序設計要求:

必須使用訂閱與發佈模式傳消息
工廠模式生產巡邏兵

訂閱與發佈模式

訂閱與發佈模式

就像我們訂閱報刊,有什麼時事新聞出現,報社(發佈者)可以第一時間印刷數百份乃至數千份報紙(傳播媒介),發到各個訂閱了該報紙的人(訂閱者)手上,這樣就完成了信息傳播。

與觀察者模式的區別

在觀察者模式中,觀察者需要直接訂閱目標事件;在目標發出內容改變的事件後,直接接收事件並作出響應,往往發佈者需要對所有的觀察者維持一個列表,從而在每次發生變化時通知所有觀察者。在發佈訂閱模式中,發佈者和訂閱者之間多了一個發佈通道;一方面從發佈者接收事件,另一方面向訂閱者發佈事件;訂閱者需要從事件通道訂閱事件,以此避免發佈者和訂閱者之間產生依賴關係,從而降低代碼的耦合性。

UML類圖

這裏參照的是師兄的博客,所以直接借用了他的UML類圖。
在這裏插入圖片描述

程序設計過程

主要使用了MVC的架構和使用訂閱與發佈模式傳消息
詳細代碼請見我的GitHub

參照博客

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

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