大家小時候都玩過貪吃蛇吧?小編小時候可喜歡拿爸媽的手機玩了,厲害着呢!今天,小編就來用100行代碼實現一個簡易版的貪吃蛇。在網上,貪吃蛇教程蠻多的,但要安裝蠻多庫的,而且也不夠清晰,今天的代碼比較短,而且理解起來或者說你更改起來要簡單一些。最終會實現效果如下:
基本准備
首先,我們需要安裝pygame庫,小編通過pip install pygame,很快就安裝好了。在完成貪吃蛇小游戲的時候,我們需要知道整個游戲分為四部分:
1.游戲顯示:游戲界面、結束界面
2.貪吃蛇:頭部、身體、食物判斷、死亡判斷
3.樹莓:隨機生成
4.按鍵控制:上、下、左、右
游戲顯示
首先,我們來初始化pygame,定義顏色、游戲界面的窗口大小、標題和圖標等。
游戲結束界面,我們會顯示“Game Over!”和該局游戲所得分數,相關代碼如下:
貪吃蛇和樹莓
我們需要將整個界面看成許多20*20的小方塊,每個方塊代表一個單位,蛇的長度用單位來表示,同時我們采用列表的形式存儲蛇的身體。同時,我們都知道,樹莓的位置是隨機的。所以,我們需要讓樹莓出現的位置是游戲界面中的隨機位置,同時,每吃到一顆樹莓,就需要重新生成一顆新的樹莓,並且得分加1。相關初始化設置如下:
如何控制貪吃蛇的運動軌跡呢,那么就需要按鍵控制了。我們通過鍵盤的↑↓←→和WSAD來控制,如果想直接退出游戲,則可以通過Esc鍵。這里需要強調的是,貪吃蛇里面是不能反方向運動,因此,我們需要進一步的增加限制條件:
方向設置好了,那么貪吃蛇蛇身變換怎么做啊?很簡單,我們只需要根據方向變換一下坐標即可
貪吃蛇游戲里面最重要的就是食物判斷和死亡判斷。首先是食物判斷,我們通過鍵盤按鍵來決定貪吃蛇的走向,以便它能吃到樹莓。如何判斷貪吃蛇有沒有吃到樹莓呢?很簡單,如果貪吃蛇蛇頭的位置和樹莓的位置重合了,也就是相同,那么貪吃蛇就吃到樹莓了,否則沒有。同時,一旦發生了樹莓被吃的情況,立刻重新隨機生成一個新的樹莓。相關代碼如下:
死亡判斷則分為兩類情況,一是觸碰到了游戲界面的邊界,二是貪吃蛇觸碰到了自己的身體。一旦發生死亡,則觸發gameover。
貪吃蛇運動和吃掉樹莓的過程中,游戲界面需要不斷更新。同時,我們設置了游戲速度。
至此,我們就能完成一個貪吃蛇小游戲了。趕緊去實驗一下吧!
聯系我們
想了解更多關於python的問題,請聯系我:
請添加微信:17706130227(江江老師)即可獲取哦!
微信公眾號:Python職場圈