Python程式碼實現“FlappyBird”小遊戲
開發工具
Python版本:3.6.4
相關模組:
pygame模組;
以及一些Python自帶的模組。
相關檔案
關注公眾號:Python學習指南,回覆“FlappyBird”獲取
環境搭建
安裝Python並新增到環境變數,pip安裝需要的相關模組即可。
原理介紹
FlappyBird遊戲簡介:
玩家通過空格鍵控制一隻小鳥,使其跨越由各種不同長度水管所組成的障礙物,當小鳥碰撞到障礙物或跌至螢幕最底端時,遊戲結束。
逐步實現:
Step1:定義精靈類
為了方便實現小鳥和水管之間碰撞的檢測,我們先定義一些精靈類,包括:
① 小鳥類
隨著遊戲時間的推移,小鳥應當具有更新自身位置的能力,即當玩家按下空格鍵時,小鳥向上跳躍,否則小鳥向下墜落。另外,為了使遊戲場景更加真實,小鳥在向上跳躍或者向下墜落之前,應當先調整身體角度。具體程式碼實現如下:
② 管道類
管道分為管道體和管道頭。管道頭:
管道體:
可先簡單定義如下:
顯然,一個管道頭和若干個管道體組成了一個管道障礙物,管道障礙物兩兩同列,兩者之間留有一定的空間供小鳥穿過,就像這樣:
因此,我們定義一個大的管道類,以便構建一個完整的管道障礙物,程式碼實現如下:
其中,更新管道的作用為通過管道的左移來實現小鳥不斷右移的效果。
Step2:實現遊戲主迴圈
先初始化,載入圖片、音樂、字型等檔案,並定義一些必要的常量:
現在就可以開始定義遊戲主迴圈了!遊戲主迴圈的邏輯十分簡單,先顯示遊戲背景,然後根據玩家的操作更新小鳥位置,自動更新管道位置,並通過碰撞檢測以及小鳥的縱座標來判斷遊戲是否結束,若遊戲結束,則顯示遊戲結束畫面。當然你也需要根據玩家通過的管道數量來實時更新玩家當前的分數,這一步需寫在最後,否則分數會被管道所遮蓋,這顯然是不合理的,具體實現如下:
All Done!
相關文章
- 100行Python程式碼實現貪吃蛇小遊戲(超詳細)Python遊戲
- python手機版做小遊戲程式碼大全-python簡單小遊戲程式碼 怎麼用Python製作簡單小遊戲...Python遊戲
- python之掃雷小遊戲(附程式碼)Python遊戲
- Python實現三子棋小遊戲Python遊戲
- 關於Python小遊戲程式Python遊戲
- python實現超級瑪麗小遊戲(動圖演示+原始碼分享)Python遊戲原始碼
- Python:遊戲:300行程式碼實現俄羅斯方塊Python遊戲行程
- 容器flappybird遊戲——圖文操作指引貼APP遊戲
- canvas吃豆小遊戲程式碼Canvas遊戲
- 小遊戲群聊分享又有新套路,小程式實現全面佈局遊戲
- Python魂鬥羅小遊戲原始碼Python遊戲原始碼
- java實現人機猜拳遊戲的程式碼Java遊戲
- Python實現24點遊戲Python遊戲
- python指令碼實現開心消消樂的遊戲Python指令碼遊戲
- JavaScript實現垃圾分類小遊戲教程,附原始碼!JavaScript遊戲原始碼
- javascript實現前端小遊戲2048JavaScript前端遊戲
- 只需一行Python程式碼即可玩20幾款小遊戲Python遊戲
- python開發俄羅斯方塊小遊戲程式碼例項Python遊戲
- 用Go和Korok寫一個Flappybird遊戲-5GoAPP遊戲
- Python小遊戲2048Python遊戲
- linux實現猜數字小遊戲Linux遊戲
- Android實現買賣商品小遊戲Android遊戲
- Python課程程式碼實現Python
- 用python寫小遊戲,沒有學過python的也會這個打程式碼Python遊戲
- (完整原始碼)貪吃蛇小遊戲——HTML+CSS+JavaScript實現原始碼遊戲HTMLCSSJavaScript
- 最簡容器化動手小實踐——再戰flappybirdAPP
- bash shell實現2048小遊戲詳解遊戲
- 小鎮青年的網遊實踐與現實生活:從“遊戲即生活”到“遊戲只是遊戲”遊戲
- Android黑白棋遊戲實現過程及程式碼解析Android遊戲
- 10行程式碼實現微信小程式支付功能,使用小程式雲開發實現小程式支付功能(行程微信小程式
- python實現簡單猜單詞遊戲Python遊戲
- 20190118-利用Python實現Pig Latin遊戲Python遊戲
- python小遊戲-移動木板Python遊戲
- 一行Java程式碼實現遊戲中交換裝備Java遊戲
- 直播原始碼網站,直播間小遊戲java遞迴的實現方式原始碼網站遊戲Java遞迴
- 用Python寫個魂鬥羅,另附30個Python小遊戲原始碼Python遊戲原始碼
- xss小遊戲原始碼分析遊戲原始碼
- 微信小程式--遊戲demo微信小程式遊戲