1. 程式人生 > >[原始碼和文件分享]分別基於WIN32 API介面程式設計和Cocos2d-x實現的兩個版本FlappyBird遊戲

[原始碼和文件分享]分別基於WIN32 API介面程式設計和Cocos2d-x實現的兩個版本FlappyBird遊戲

1 開發背景

遊戲程式設計涉及了學科中的各個方面,鑑於目的在於學習與進步,本遊戲《Flappy Bird 》採用了兩個不同的開發方式來開發本款遊戲,一類直接採用win32底層API來實現,另一類採用當前火熱的cocos2d-x遊戲引擎來開發本遊戲。

2 需求分析

2.1 資料分析

本專案要開發的是一款遊戲,遊戲是幻想與現實之間的橋樑,設計一款精美的遊戲,既能娛樂,又能提升自我實力,是一次不錯的實踐。

開發的系統要求介面友好,方便直觀,功能易懂。

2.2 可行性分析

  • 經濟可行性分析:從支出、收益以及兩者之間的關係來分析,還需要進行投資回收期分析、敏感性分析

  • 技術可行性分析:對提出的主要技術路線進行分析

  • 社會可行性分析:從組織內外部的社會環境入手來分析,如系統在法律方面和使用方面的可行性

2.3 設計模式分析

在底層win32設計下,程式實體類採用抽象工廠模式,每個例項工廠生產一個產品族內的所有類,包括實體本身與對應實體的畫筆等,而遊戲中的各個狀態可採用狀態模式設計,但考慮到遊戲狀態的拓展性較低以及,遊戲的狀態較少,故暫不採用狀態模式。

在cocos2d-x引擎下,引擎已經幫我們實現了大部分的功能,其中較為突出的有導演類的單例模式,有限自動機的狀態模式,通知中心的觀察者模式等等。

3 專案設計

3.1 專案主要設計

  • 執行可執行檔案,即可進入本遊戲,點選開始按鈕,遊戲開始

  • 在win32下,小鳥通過響應空格按鈕進行飛翔,cocos2d-x平臺下,通過響應滑鼠點選進行飛翔

  • 小鳥通過飛過每一根柱子實現分數加成

  • 小鳥碰撞柱子或碰撞陸地或離開螢幕區域死亡,記錄死亡分數,遊戲結束

  • 通過分數榜更新每次遊戲的分數以及最高分數

  • 通過點選重新開始按鈕開始新一輪的遊戲,並且恢復遊戲中各個實體的狀態

  • 其中,各個實體的資訊會隨每次遊戲的開始於結束展現不同的表現形式,如小鳥的顏色,背景的切換等等