今天呢,給大家展示一下Python有趣的小地方,展示給大家看看,我做的小游戲,是否有大家小時候的回憶呢,下面就廢話不多說了,給大家展示一遍!感興趣的小伙伴不懂也沒事,可以下載一個PyCharm,跟著我的圖片代碼一起敲呀!

首先呢我們選擇好開發工具 Python版本:3.6.4,相關的模板選擇pygame模板,以及一些Python自帶的模塊,環境搭建也很簡單,只需要安裝Python并添加到環境變數,pip安裝需要的相關模板即可,
逐步實作:
Step1:定義游戲精靈類
由于游戲涉及到碰撞測驗,所以我們先來定義一些游戲精靈類,包括推箱子的人、箱子、墻和目標位置指示標記,
首先我們來定義一下推箱子的人這個精靈類:

他需要擁有可以移動的能力,這里設定了一個模擬移動的選擇,是為了通過模擬移動判斷它是否可以上、下、左、右移動,因為地圖上的其他東西性質型別,所以我們把它們定義成同一個精靈類(其實性質都類似,但是感徑訓是有必要區分一下人和物的):

其中箱子有用可以移動的能力,其它則不能移動,模擬移動選擇的功能與之前類似,
Step2:定義游戲地圖類
這里我們定義用一個游戲地圖類,目的是用該類來創建任意的游戲地圖,因此,該類應當可以增加并保存游戲元素(人、墻、箱子等),并在螢屏上把地圖畫出來,同時也應自帶一個方法來判斷此地圖上的箱子是否已經送到了指定位置(這樣子方便換關卡):

Step3:定義游戲界面類
游戲界面類負責決議levels檔案夾下的游戲各關卡的地圖檔案,并利用游戲地圖類創建并顯示游戲地圖:

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

Step4:定義某關的游戲主回圈
主回圈主要負責實體化游戲界面類,并根據按鍵檢測的結果對游戲界面類進行一些操作:

其中人物移動的邏輯為:人物移動的目標為空白格,則人移動;若撞到箱子,箱子可以和人方向一樣移動一格,則人和箱子均移動;其他情況人和箱子均無法移動,
Step5:定義游戲開始、切換和結束界面
做的比較簡陋,直接拿源代碼吧,
開始界面:

切換界面:

結束界面:

Step6:實作游戲主函式
把所有界面串起來就好了:

最后隨手加了個背景音樂,應該問題不大,看懂的同學們就試著做做,沒看懂的同學們可以直接照著代碼敲就完了,運行之后就如圖所示:



沒人看懂的話歡迎大家評論去留言呀!或者私信我都可以,評論必回,私信必看,不錯過任何一個認真學習的同學!!!

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/290882.html
標籤:python
上一篇:16 條 yyds 的代碼規范
