您好,登錄后才能下訂單哦!
今天小編給大家分享一下怎么用Python制作坦克游戲的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
Python版本:3.6.4
相關模塊:
pygame模塊;
以及一些Python自帶的模塊。
環境搭建
安裝Python并添加到環境變量,pip安裝需要的相關模塊即可。
T_T感覺自己的代碼整體上邏輯還是很清晰的,也做了很多必要的注釋,所以這里我只講主要的思路。
游戲規則:
游戲有單人和雙人兩種模式,己方大本營被破或者己方坦克被殲滅則游戲失敗,成功通過所有關卡則游戲勝利。另外,玩家可以通過射擊特定的坦克使地圖上隨機出現一個道具,若己方坦克撿到該道具,則觸發一個事件,例如坦克能力的增強。
玩家操作方式如下:
玩家一:
wsad鍵:上下左右;
空格鍵:射擊。
玩家二:
↑↓←→鍵:上下左右;
小鍵盤0鍵:射擊。
逐步實現:
Step1:定義精靈類
因為游戲肯定涉及到碰撞檢測,所以我們需要定義一些精靈類。
首先,既然是坦克大戰,總得有坦克吧?
己方坦克:
上面的代碼定義了坦克的一些屬性,例如速度、等級、是否處于受保護狀態等等。
當然這里也實例化了一個子彈類,這個我們之后再定義,先假裝有這個子彈類,這樣主邏輯才是完整的,不然坦克沒有子彈類怎么射擊呢?
當然,有屬性還是不夠的,我們還要賦予坦克一些能力,例如上面所說的射擊:
當然還有上下左右的移動,因為都是類似的,這里只給出向上移動的源碼:
啊,還有坦克的等級提升與下降:
最后當然是坦克死后重置啦:
敵方坦克:
敵方坦克和己方坦克定義的源代碼很相似,只不過移動是隨機的,死后是不可復生的,就不截圖了T_T。
現在,我們可以來定義子彈類了!
子彈類:
子彈類應當具有例如速度、強度等屬性,以及選擇方向和移動的能力:
最后,我們來定義其他涉及到碰撞檢測的物體類。
大本營:
有正常和被摧毀兩種狀態:
地圖障礙物:
包括磚墻、鋼墻、森林、河流和冰:
食物道具:
一共有7種道具,不同的道具對應不同的效果:
Step2:設計游戲地圖
Emmmm,游戲的大背景是黑色的,然后在上面堆上一些步驟一中定義的障礙物就可以完成地圖設計了。其中,鋼墻不能被一般的子彈擊破,磚墻可被任意子彈擊破,除墻外,坦克可以穿過任意障礙物,不過沒有任何附加效果(有興趣的小伙伴可以自己擴展一下~比如冰上的坦克速度加快等等):
我偷懶只設計了一個地圖和兩個關卡,有興趣的小伙伴同樣可以在此基礎上設計更多的地圖和關卡。
Step3:實現游戲主循環
主循環的代碼比較長,不過邏輯很清晰。首先展示游戲開始界面,玩家在此界面選擇游戲模式后進入游戲;在游戲中,需要進行一系列的碰撞檢測以及觸發碰撞產生的一系列事件,并繪制當前存在的所有物體;最后,若游戲失敗,則顯示游戲失敗界面,若通關,則顯示游戲成功界面。
以上就是“怎么用Python制作坦克游戲”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。