開發(fā)工具
Python版本:3.6.4
相關模塊:
pygame模塊;
以及一些Python自帶的模塊。
相關文件
歡迎與我交流
環(huán)境搭建
安裝Python并添加到環(huán)境變量,pip安裝需要的相關模塊即可。
原理介紹
游戲規(guī)則簡介:
玩家通過空格鍵控制一只小恐龍的前進方式,當小恐龍觸碰到植物或者飛龍時,游戲結束。小恐龍躲避的植物和飛龍越多,得分越高。
逐步實現(xiàn):
Step1:定義精靈類
為了方便實現(xiàn)小恐龍和植物以及飛龍之間的碰撞檢測,我們先定義一些精靈類,包括:
① 植物類
其中,move函數(shù)的作用為使隨機生成的植物不斷地左移,來實現(xiàn)小恐龍不斷右移的效果。
② 飛龍類
飛龍類的定義要略微復雜一些,因為如果我們想讓飛龍飛起來更逼真一些,就必須每隔一段很小的時間,就對飛龍的狀態(tài)進行轉換。具體而言,飛龍的飛行狀態(tài)有兩種,即翅膀向上和翅膀向下:
我們需要做的就是每隔很短的一段時間,就讓飛龍的翅膀由其中一種姿勢轉為另外一種姿勢。
③ 小恐龍類
小恐龍類的定義與飛龍類類似,只不過狀態(tài)要更加豐富一些,并且通過勻加速直線公式模擬恐龍的跳躍和下降的動作。
Step2:定義場景類
我們需要定義一個簡單的場景類(道路和云等場景),來使我們的游戲效果更加逼真:
這里唯一需要注意的就是場景的左移速度應當與植物類一致(畢竟它們理論上都應當是相對靜止的),并且需要三張場景圖同時左移來保證畫面的連續(xù)性。
Step3:游戲主循環(huán)
先初始化,內(nèi)容包括加載游戲素材文件、實例化之前定義的精靈類和場景類、定義一些必要的常量和用戶事件等:
然后就可以進入游戲主循環(huán)了:
主循環(huán)主要包括四個功能,一是事件檢測;二是不斷地產(chǎn)生、移動并畫出相應的場景和精靈類;三是碰撞檢測;四是統(tǒng)計并顯示當前分數(shù)。
All Done!