貪吃蛇python
『壹』 Python游戲開發,Python實現貪吃蛇小游戲與吃豆豆 附帶源碼
Python版本: 3.6.4
相關模塊:
pygame模塊;
以及一些Python自帶的模塊。
安裝Python並添加到環境變數,pip安裝需要的相關模塊即可。
貪吃蛇的 游戲 規則應該不需要我多做介紹了吧T_T。寫個貪吃蛇 游戲 其實還是很簡單的。首先,我們進行一下 游戲 初始化:
然後定義一個貪吃蛇類:
其中head_coord用來記錄蛇頭所在位置,而tail_coords是一個二維數組,用來記錄所有蛇身的位置。一開始,貪吃蛇長為3,並且位置是隨機生成的。用戶通過 鍵來控制貪吃蛇的行動:
需要注意的是,貪吃蛇不能180 大拐彎,只能90 地拐彎。例如正在向左行動的貪吃蛇不能瞬間變成向右行動。具體而言,代碼實現如下:
然後,我們需要隨機生成一個食物,且需要保證該食物的位置不與貪吃蛇的位置相同:
在更新貪吃蛇的時候,如果它吃到了食物,則蛇身長加一,否則只是簡單的按照給定的方向行動而不改變蛇身長度:
同時,當貪吃蛇吃到食物時,需要重新生成一個新的食物:
最後,當貪吃蛇碰到牆壁或者蛇頭碰到蛇身時, 游戲 結束:
並顯示一下 游戲 結束界面:
玩家通過 鍵控制 游戲 的主角吃豆人吃掉藏在迷宮內的所有豆子,並且不能被鬼魂抓到。
若能順利吃完迷宮內的所有豆子並且不被鬼魂抓到,則 游戲 勝利,否則 游戲 失敗。
逐步實現:
Step1:定義 游戲 精靈類
首先,讓我們先來明確一下該 游戲 需要哪些 游戲 精靈類。
① 牆類
② 食物類(即豆豆)
③ 角色類
角色類包括吃豆人和鬼魂,鬼魂由電腦控制其運動軌跡,吃豆人由玩家控制其運動軌跡。
顯然,其均需具備更新角色位置和改變角色運動方向的能力,其源代碼如下:
Step2:設計 游戲 地圖
利用Step1中定義的 游戲 精靈類,我們就可以開始設計 游戲 地圖了。由於時間有限,我只寫了一個關卡的 游戲 地圖,有興趣的小夥伴可以在此基礎上進行擴展(在我的源代碼基礎上進行擴展是很方便滴~)。 游戲 地圖的設計包括以下四方面內容:
① 創建牆
② 創建門(一開始關幽靈用的)
image.gif
③ 創建角色
④ 創建食物
因為食物不能和牆、門以及角色的位置重疊,所以為了方便設計 游戲 地圖,要先創建完牆、門以及角色後再創建食物:
Step3:設計 游戲 主循環
接下來開始設計 游戲 主循環。首先是初始化:
然後定義主函數:
其中startLevelGame函數用於開始某一關 游戲 ,其源代碼如下:
showText函數用於在 游戲 結束或關卡切換時在 游戲 界面中顯示提示性文字,其源代碼如下: