[原始碼和文件分享]分別基於WIN32 API介面程式設計和Cocos2d-x實現的兩個版本FlappyBird遊戲
阿新 • • 發佈:2018-12-06
1 開發背景
遊戲程式設計涉及了學科中的各個方面,鑑於目的在於學習與進步,本遊戲《Flappy Bird 》採用了兩個不同的開發方式來開發本款遊戲,一類直接採用win32底層API來實現,另一類採用當前火熱的cocos2d-x遊戲引擎來開發本遊戲。
2 需求分析
2.1 資料分析
本專案要開發的是一款遊戲,遊戲是幻想與現實之間的橋樑,設計一款精美的遊戲,既能娛樂,又能提升自我實力,是一次不錯的實踐。
開發的系統要求介面友好,方便直觀,功能易懂。
2.2 可行性分析
-
經濟可行性分析:從支出、收益以及兩者之間的關係來分析,還需要進行投資回收期分析、敏感性分析
-
技術可行性分析:對提出的主要技術路線進行分析
-
社會可行性分析:從組織內外部的社會環境入手來分析,如系統在法律方面和使用方面的可行性
2.3 設計模式分析
在底層win32設計下,程式實體類採用抽象工廠模式,每個例項工廠生產一個產品族內的所有類,包括實體本身與對應實體的畫筆等,而遊戲中的各個狀態可採用狀態模式設計,但考慮到遊戲狀態的拓展性較低以及,遊戲的狀態較少,故暫不採用狀態模式。
在cocos2d-x引擎下,引擎已經幫我們實現了大部分的功能,其中較為突出的有導演類的單例模式,有限自動機的狀態模式,通知中心的觀察者模式等等。
3 專案設計
3.1 專案主要設計
-
執行可執行檔案,即可進入本遊戲,點選開始按鈕,遊戲開始
-
在win32下,小鳥通過響應空格按鈕進行飛翔,cocos2d-x平臺下,通過響應滑鼠點選進行飛翔
-
小鳥通過飛過每一根柱子實現分數加成
-
小鳥碰撞柱子或碰撞陸地或離開螢幕區域死亡,記錄死亡分數,遊戲結束
-
通過分數榜更新每次遊戲的分數以及最高分數
-
通過點選重新開始按鈕開始新一輪的遊戲,並且恢復遊戲中各個實體的狀態
-
其中,各個實體的資訊會隨每次遊戲的開始於結束展現不同的表現形式,如小鳥的顏色,背景的切換等等
參考文件和完整的文件和原始碼下載地址:- https://www.write-bug.com/article/1271.html