🎮Python遊戲開發,pygame模組,Python實現俄羅斯方塊小遊戲🎮
前言:
上班無聊用pyqt5寫的寫了個俄羅斯方塊的小遊戲,讓我們愉快地開始吧~
效果
開發工具
Python版本: 3.6.4
相關模組:
pyqt5模組;
以及一些Python自帶的模組。
環境搭建
安裝Python並新增到環境變數,pip安裝需要的相關模組即可。
原理簡介
遊戲規則:
由小方塊組成的不同形狀的板塊陸續從螢幕上方落下來,玩家通過調整板塊的位置和方向,使它們在螢幕底部拼出完整的一條或幾條。這些完整的橫條會隨即消失,給新落下來的板塊騰出空間,與此同時,玩家得到分數獎勵。沒有被消除掉的方塊不斷堆積起來,一旦堆到螢幕頂端,玩家便告輸,遊戲結束。(ps百度百科)
控制方式:
←→鍵控制位置,↑鍵控制方向,空格鍵使板塊快速下落到底部,P鍵暫停遊戲。
逐步實現:
Step1:定義一個俄羅斯方塊
首先,我們來定義一個俄羅斯方塊類,其具體作用為利用小方塊組成不同形狀的板塊:
為了便於獲取某個俄羅斯方塊內各個小方塊的位置資訊,我們再來定義一些獲取其位置資訊的類內方法,如下圖所示:
Step2:製作遊戲主介面
我們將遊戲進行中的資料記錄與資料處理部分定義在內部板塊類中,將遊戲資料視覺化定義在外部板塊類中,具體實現如下。
(1)定義一個內部板塊類:
我們可以在內部板塊中操作當前可控制的俄羅斯方塊向左/向右/向下(向下運動由系統自動操作)移動和快速墜落:
當然移動的時候要實時地判斷當前可控制的俄羅斯方塊是否已經“著陸”:
“著陸”後將當前可控制的俄羅斯方塊併入到最下方那些不可再控制的俄羅斯方塊中,並移除整行都有小方塊的那些行(即完整的橫條):
然後建立新的俄羅斯方塊:
迴圈往復。
(2)定義一個外部板塊類
其作用就是將內部板塊類的實時資料資訊用pyqt5模組實時地顯示出來。
Step3:畫個遊戲側面板
我們在遊戲主介面右側畫個側面板來實時地顯示下一個俄羅斯方塊的形狀:
Step4:實現遊戲主迴圈
定義俄羅斯方塊遊戲類並初始化:
其中游戲開始和遊戲暫停的定義如下:
按鍵監聽定義如下:
然後呼叫執行它就OK啦:
文章到這裡就結束了,感謝你的觀看,Python24個小遊戲系列,下篇文章分享推箱子小遊戲
為了感謝讀者們,我想把我最近收藏的一些程式設計乾貨分享給大家,回饋每一個讀者,希望能幫到你們。
乾貨主要有:
① 2000多本Python電子書(主流和經典的書籍應該都有了)
② Python標準庫資料(最全中文版)
③ 專案原始碼(四五十個有趣且經典的練手專案及原始碼)
④ Python基礎入門、爬蟲、web開發、大資料分析方面的視訊(適合小白學習)
⑤ Python學習路線圖(告別不入流的學習)
All done~詳見個人簡介或者私信獲取完整原始碼。。