開(kāi)發(fā)工具
Python版本:3.6.4
相關(guān)模塊:
pygame模塊照雁;
以及一些Python自帶的模塊。
相關(guān)文件
歡迎與我交流
環(huán)境搭建
安裝Python并添加到環(huán)境變量持隧,pip安裝需要的相關(guān)模塊即可思币。
原理介紹
游戲規(guī)則簡(jiǎn)介:
玩家通過(guò)空格鍵控制一只小恐龍的前進(jìn)方式,當(dāng)小恐龍觸碰到植物或者飛龍時(shí)周伦,游戲結(jié)束。小恐龍躲避的植物和飛龍?jiān)蕉辔椿模梅衷礁摺?/p>
逐步實(shí)現(xiàn):
Step1:定義精靈類
為了方便實(shí)現(xiàn)小恐龍和植物以及飛龍之間的碰撞檢測(cè)专挪,我們先定義一些精靈類,包括:
① 植物類
其中片排,move函數(shù)的作用為使隨機(jī)生成的植物不斷地左移寨腔,來(lái)實(shí)現(xiàn)小恐龍不斷右移的效果。
② 飛龍類
飛龍類的定義要略微復(fù)雜一些率寡,因?yàn)槿绻覀兿胱岋w龍飛起來(lái)更逼真一些迫卢,就必須每隔一段很小的時(shí)間,就對(duì)飛龍的狀態(tài)進(jìn)行轉(zhuǎn)換冶共。具體而言靖避,飛龍的飛行狀態(tài)有兩種,即翅膀向上和翅膀向下:
我們需要做的就是每隔很短的一段時(shí)間比默,就讓飛龍的翅膀由其中一種姿勢(shì)轉(zhuǎn)為另外一種姿勢(shì)。
③ 小恐龍類
小恐龍類的定義與飛龍類類似盆犁,只不過(guò)狀態(tài)要更加豐富一些命咐,并且通過(guò)勻加速直線公式模擬恐龍的跳躍和下降的動(dòng)作。
Step2:定義場(chǎng)景類
我們需要定義一個(gè)簡(jiǎn)單的場(chǎng)景類(道路和云等場(chǎng)景)谐岁,來(lái)使我們的游戲效果更加逼真:
這里唯一需要注意的就是場(chǎng)景的左移速度應(yīng)當(dāng)與植物類一致(畢竟它們理論上都應(yīng)當(dāng)是相對(duì)靜止的)醋奠,并且需要三張場(chǎng)景圖同時(shí)左移來(lái)保證畫(huà)面的連續(xù)性。
Step3:游戲主循環(huán)
先初始化伊佃,內(nèi)容包括加載游戲素材文件窜司、實(shí)例化之前定義的精靈類和場(chǎng)景類、定義一些必要的常量和用戶事件等:
然后就可以進(jìn)入游戲主循環(huán)了:
主循環(huán)主要包括四個(gè)功能航揉,一是事件檢測(cè)塞祈;二是不斷地產(chǎn)生、移動(dòng)并畫(huà)出相應(yīng)的場(chǎng)景和精靈類帅涂;三是碰撞檢測(cè)议薪;四是統(tǒng)計(jì)并顯示當(dāng)前分?jǐn)?shù)尤蛮。
All Done!