本文轉載至知乎ID:Charles(白露未晞)知乎個人專欄
本文轉載至知乎ID:Charles(白露未晞)知乎個人專欄
下載W3Cschool手機App,0基礎隨時隨地學編程>>戳此了解
導語這又將是一個不定期更新的系列~~~
本系列主要將使用到python的pygame模塊來教大家制作一些小游戲,每期制作一個。最后都會打包成.exe文件分享給大家~~~
So,對于只想玩小游戲的小伙伴來說,只需要下載相關文件就好啦~~~
至于pygame的開發(fā)文檔,暫時沒有歸入整理計劃,來日方長,英文不好的同學只能先看網(wǎng)上中文的資料將就下了~~~
相關文件
百度網(wǎng)盤下載鏈接: https://pan.baidu.com/s/1gDLSHDF48xV4Z7z25UjOxw
密碼: q4ib
本期參考文獻
鏈接:
https://www.raywenderlich.com/24252/beginning-game-programming-for-teens-with-python
作者:
Julian Meyer
說明
python版本:3.5.4
pygame版本:1.9.3(pip安裝即可)
愉快地開始
Step1:你好,兔子

效果:

Step2:添加背景
首先載入所需的圖片;其次依次通過x和y進行循環(huán),并且根據(jù)循環(huán)里x和y的值來畫上草的效果;接下來的幾行就是在屏幕上畫出城堡。

效果:

Step3:讓兔子能夠移動
接下來你需要加上一些真正的游戲的元素了,比如讓兔子能夠隨著按鍵移動。


效果(可以移動兔子):

Step4:讓兔子轉向
好的,現(xiàn)在你的兔子在你按鍵的時候可以移動了,但是如果你能用鼠標讓兔子朝向你選擇的方向不是更酷嗎?這樣它就不會總是朝向一個方向了。

效果:

Step5:射擊吧!兔子
讓兔子用箭頭射向它們的敵人,這一步會有一點復雜,因為你需要跟蹤所有的箭頭,更新它們,旋轉它們,在它們跑出屏幕的時候刪除它們。



效果:

Step6:獾,拿上武器!
好吧,現(xiàn)在有了城堡,并且你有一個英雄可以移動和射出箭頭。還差什么呢?當然是攻擊城堡的敵人啦~
在這一步,你將會隨機創(chuàng)建出一些獾沖向城堡。在游戲的進程中會有越來越多的獾冒出來。



效果:

Step7:獾與箭頭的碰撞
獾們沖向你的城堡,但是你的箭頭對它們完全沒有作用!這讓兔子怎么防守它的家園呢?
是時候來讓箭頭能夠殺死獾讓兔子能保護自己的城堡并且贏得這場游戲了~~~

效果:

Step8:添加健康值和時間的顯示
游戲運行起來相當不錯了,有攻擊者、防守者。現(xiàn)在,你需要的就是通過一個方法來顯示兔子的得分。
最簡單的方法就是添加一個HUD來顯示當前城堡的生命值。你也可以加一個計時來記錄城堡存活下來的時間。


效果:

Step9:贏或輸
如果你玩的時間夠長,即使你的生命值已經(jīng)變成0了,游戲仍然是繼續(xù)的!不僅如此,你仍然可以用箭頭射向這些獾。這肯定不太對。你需要加上一些贏或者輸?shù)那闆r來讓你的游戲值得玩。
那么我們來加上勝利或者失敗的條件。你可以通過終止主循環(huán),進入勝利/失敗的循環(huán)來實現(xiàn)它。你需要指出玩家是否勝利,并將其顯示在屏幕上。



效果:

Step10:免費的音樂和聲音效果
這個游戲現(xiàn)在相當不錯了,但是沒有聲音。有點太安靜了。加上一點聲音效果,能讓你更好地感受這個游戲。



效果:
當然是會各種音效啦~~~圖片大概是表達不了了emm。
OK,大功告成,你完美地制作了一款小游戲!
在這基礎上,你可以根據(jù)你自己的創(chuàng)意來擴展游戲!比如,你可以試著重置里面的各種圖片,加上不同的槍或者是不同的怪物!