開發(fā)工具
Python版本:3.6.4
相關(guān)模塊:
pygame模塊;
以及一些Python自帶的模塊。
相關(guān)文件
歡迎與我交流
環(huán)境搭建
安裝Python并添加到環(huán)境變量,pip安裝需要的相關(guān)模塊即可。
原理簡介
游戲規(guī)則簡介:
游戲模式包括單人模式和雙人模式。
單人模式中,玩家通過↑↓←→控制飛船行動,J鍵發(fā)射炮彈;雙人模式中,玩家一通過↑↓←→控制飛船行動,J鍵發(fā)射炮彈,玩家二通過wsad控制飛船行動,空格鍵發(fā)射炮彈。每擊碎一個小行星(或者說隕石),玩家得分加一,若所有玩家均被小行星擊中,則游戲結(jié)束。
逐步實現(xiàn):
Step1:定義精靈類
首先,我們定義一下游戲中涉及到碰撞檢測的三個精靈類,也就是小行星(隕石)類:
圖片
子彈類:
圖片
飛船類:
圖片
子彈發(fā)射后,只需要一直向前飛就行了,小行星和子彈類似,產(chǎn)生后,只需要一直向前飛,然后順便旋轉(zhuǎn)一下就行了,飛船類則需要擁有發(fā)射子彈的能力以及被小行星擊中后爆炸的"能力"。
Step2:實現(xiàn)游戲主循環(huán)
先初始化:
圖片
然后就可以進入游戲主循環(huán)了,主循環(huán)包括按鍵檢測并根據(jù)檢測結(jié)果行動飛船:
圖片
向下移動背景圖實現(xiàn)飛船向上移動的效果:
圖片
畫子彈、飛船和小行星,并進行必要的碰撞檢測等操作:
圖片
Step3:制作簡易的游戲開始和結(jié)束界面
游戲開始界面:
圖片
游戲結(jié)束界面:
圖片
Step4:整合游戲開始、游戲進行和游戲結(jié)束界面
圖片
All Done!完整源代碼詳見相關(guān)文件。