pyqt5模塊制作俄羅斯方塊小游戲
相關文件
關注微信公眾號“Python學習指南”,公眾號內回復‘game11’獲取。
開發工具
Python版本:3.6.4
相關模塊:
pyqt5模塊;
以及一些Python自帶的模塊。
環境搭建
安裝Python并添加到環境變量,pip安裝需要的相關模塊即可。
原理簡介
游戲規則:
由小方塊組成的不同形狀的板塊陸續從屏幕上方落下來,玩家通過調整板塊的位置和方向,使它們在屏幕底部拼出完整的一條或幾條。這些完整的橫條會隨即消失,給新落下來的板塊騰出空間,與此同時,玩家得到分數獎勵。沒有被消除掉的方塊不斷堆積起來,一旦堆到屏幕頂端,玩家便告輸,游戲結束。(摘自百度百科)
控制方式:
←→鍵控制位置,↑鍵控制方向,空格鍵使板塊快速下落到底部,P鍵暫停游戲。
逐步實現:
Step1:定義一個俄羅斯方塊
首先,我們來定義一個俄羅斯方塊類,其具體作用為利用小方塊組成不同形狀的板塊:
為了便于獲取某個俄羅斯方塊內各個小方塊的位置信息,我們再來定義一些獲取其位置信息的類內方法,如下圖所示:
Step2:制作游戲主界面
我們將游戲進行中的數據記錄與數據處理部分定義在內部板塊類中,將游戲數據可視化定義在外部板塊類中,具體實現如下。
(1)定義一個內部板塊類:
我們可以在內部板塊中操作當前可控制的俄羅斯方塊向左/向右/向下(向下運動由系統自動操作)移動和快速墜落:
當然移動的時候要實時地判斷當前可控制的俄羅斯方塊是否已經“著陸”:
“著陸”后將當前可控制的俄羅斯方塊并入到最下方那些不可再控制的俄羅斯方塊中,并移除整行都有小方塊的那些行(即完整的橫條):
然后創建新的俄羅斯方塊:
循環往復。
(2)定義一個外部板塊類
其作用就是將內部板塊類的實時數據信息用pyqt5模塊實時地顯示出來。
Step3:畫個游戲側面板
我們在游戲主界面右側畫個側面板來實時地顯示下一個俄羅斯方塊的形狀:
Step4:實現游戲主循環
定義俄羅斯方塊游戲類并初始化:
其中游戲開始和游戲暫停的定義如下:
按鍵監聽定義如下:
然后調用執行它就OK啦:
All Done!完整源代碼詳見相關文件。
工程師必備
- 項目客服
- 培訓客服
- 平臺客服
TOP




















