開發(fā)工具
Python版本:3.6.4
相關(guān)模塊:
pygame模塊;
以及一些Python自帶的模塊。
相關(guān)文件
歡迎與我交流
環(huán)境搭建
安裝Python并添加到環(huán)境變量,pip安裝需要的相關(guān)模塊即可。
原理簡介
游戲規(guī)則簡介:
玩家通過"wasd"或者"↑↓←→"鍵控制農(nóng)民移動,使得農(nóng)民可以接到所有上空掉落的水果和金幣。
當(dāng)水果遺失(即未接到)的次數(shù)過多時,游戲結(jié)束。
逐步實(shí)現(xiàn):
Step1:定義精靈類
顯然,要判斷農(nóng)民是否接到了水果/金幣,肯定要用到碰撞檢測,所以我們先來定義農(nóng)民和水果/金幣這兩個精靈類。首先是農(nóng)民類:
這里唯一的技術(shù)點(diǎn)就是需要不斷更換農(nóng)民的狀態(tài)圖來實(shí)現(xiàn)農(nóng)民的行走特效。
然后就是水果/金幣類:
這里沒有技術(shù)點(diǎn),讓水果/金幣能掉的下來就行了。
Step2:實(shí)現(xiàn)游戲主循環(huán)
定義完上面兩個精靈類,就可以開始實(shí)現(xiàn)游戲主循環(huán)了。首先是初始化:
然后就是進(jìn)入主循環(huán):
主循環(huán)主要干了下面幾件事:
利用按鍵檢測控制農(nóng)民行動;
不斷產(chǎn)生水果/金幣并使其掉落;
利用碰撞檢測判斷農(nóng)民是否接到了水果/金幣;
實(shí)時顯示當(dāng)前的分?jǐn)?shù)和生命值。
Step3:制作游戲結(jié)束界面
Game Over之后,進(jìn)入游戲結(jié)束界面并顯示當(dāng)前分?jǐn)?shù)和歷史最高分:
All Done!完整源代碼歡迎與我交流。