Python製作經典小遊戲 推箱子

2021-10-13 05:38:25 字數 2075 閱讀 2661

python版本:3.6.4

pygame模組;

以及一些python自帶的模組。

安裝python並新增到環境變數,pip安裝需要的相關模組即可。

遊戲簡介

經典的推箱子是乙個來自日本的古老遊戲,目的是在訓練你的邏輯思考能力。在乙個狹小的倉庫中,要求把木箱放到指定的位置,稍不小心就會出現箱子無法移動或者通道被堵住的情況,所以需要巧妙的利用有限的空間和通道,合理安排移動的次序和位置,才能順利的完成任務。

控制方式:

↑↓←→鍵控制人物行動,r鍵重新開始本關。

逐步實現:

step1:定義遊戲精靈類

由於遊戲涉及到碰撞檢測,所以我們先來定義一些遊戲精靈類,包括推箱子的人、箱子、牆和目標位置指示標記。

首先我們來定義一下推箱子的人這個精靈類:

他需要擁有可以移動的能力,這裡設定了乙個模擬移動的選項,是為了通過模擬移動判斷他是否可以向上/下/左/右移動。

因為地圖上的其他東西性質類似,所以我們把它們定義成同乙個精靈類(t_t其實性質都類似,但是感覺還是有必要區分一下人和物的):

其中箱子需要擁有可以移動的能力,其他則不能移動。模擬移動選項的功能與之前類似。

step2:定義遊戲地圖類

這裡我們定義乙個遊戲地圖類,目的是用該類來建立任意的遊戲地圖。因此,該類應當可以增加並儲存遊戲元素(人、牆、箱子等),並在螢幕上把地圖畫出來。同時也應當自帶乙個方法來判斷此地圖上的箱子是否都已經送到了指定位置(這樣子方便切換關卡):

step3:定義遊戲介面類

遊戲介面類負責解析levels資料夾下的遊戲各關卡的地**件,並利用遊戲地圖類建立並顯示遊戲地圖:

同時因為遊戲地圖面積》遊戲視窗介面, 所以該類需要增加根據人物位置滾動遊戲地圖的功能:

step4:定義某關的遊戲主迴圈

主迴圈主要負責例項化遊戲介面類,並根據按鍵檢測的結果對遊戲介面類進行一些操作:

其中人物移動的邏輯為:

人移動的目標位置為空白格,則人移動;若撞到箱子,箱子可以和人方向一樣移動一格,則人和箱子均移動;其他情況人和箱子均無法移動。

step5:定義遊戲開始、切換和結束介面

做的比較簡陋,直接給原始碼吧。

開始介面:

切換介面:

結束介面:

step6:實現遊戲主函式

把所有介面串起來就好啦:

Python製作經典坦克大戰小遊戲

python版本 3.6.4 pygame模組 以及一些python自帶的模組。安裝python並新增到環境變數,pip安裝需要的相關模組即可。t t感覺自己的 整體上邏輯還是很清晰的,也做了很多必要的注釋,所以這裡我只講主要的思路,一些實現細節請閱讀我的源 遊戲規則 遊戲有單人和雙人兩種模式,己方...

Python製作經典的吃豆豆小遊戲

python版本 3.6.4 pygame模組 以及一些python自帶的模組。安裝python並新增到環境變數,pip安裝需要的相關模組即可。遊戲簡介 玩家通過 鍵控制遊戲的主角吃豆人吃掉藏在迷宮內的所有豆子,並且不能被鬼魂抓到。若能順利吃完迷宮內的所有豆子並且不被鬼魂抓到,則遊戲勝利,否則遊戲失...

python製作猜拳小遊戲

需求分析 參與遊戲的角色 玩家 手動出拳 電腦 隨機出拳 玩家 電腦 石頭 剪刀 剪刀 布 布 石頭 判斷輸贏 玩家獲勝 平局玩家出拳 和 電腦出拳相同 電腦獲勝 這裡匯入模組語法如下 匯出random模組 import 模組名使用random模組中的隨機整數功能 random.randint 開始...