100行Python程式碼實現貪吃蛇小遊戲(超詳細)

千鋒武漢發表於2021-05-20

      貪吃蛇小遊戲相信80、90後小時候肯定都玩過,那麼你知道如果透過Python來實現嗎?今天小千就來教大家。首先給大家看一下最終的呈現效果:

1

基本準備

首先,我們需要安裝pygame庫,小編透過pip install pygame,很快就安裝好了。在完成貪吃蛇小遊戲的時候,我們需要知道整個遊戲分為四部分:

1.遊戲顯示:遊戲介面、結束介面

2.貪吃蛇:頭部、身體、食物判斷、死亡判斷

3.樹莓:隨機生成

4.按鍵控制:上、下、左、右

遊戲顯示

首先,我們來初始化pygame,定義顏色、遊戲介面的視窗大小、標題和圖示等。

2

遊戲結束介面,我們會顯示“Game Over!”和該局遊戲所得分數,相關程式碼如下:

3

貪吃蛇和樹莓

我們需要將整個介面看成許多20*20的小方塊,每個方塊代表一個單位,蛇的長度用單位來表示,同時我們採用列表的形式儲存蛇的身體。同時,我們都知道,樹莓的位置是隨機的。所以,我們需要讓樹莓出現的位置是遊戲介面中的隨機位置,同時,每吃到一顆樹莓,就需要重新生成一顆新的樹莓,並且得分加1。相關初始化設定如下:

4

如何控制貪吃蛇的運動軌跡呢,那麼就需要按鍵控制了。我們透過鍵盤的↑↓←→和WSAD來控制,如果想直接退出遊戲,則可以透過Esc鍵。這裡需要強調的是,貪吃蛇裡面是不能反方向運動,因此,我們需要進一步的增加限制條件:

5

方向設定好了,那麼貪吃蛇蛇身變換怎麼做啊?很簡單,我們只需要根據方向變換一下座標即可。

6

貪吃蛇遊戲裡面最重要的就是食物判斷和死亡判斷。首先是食物判斷,我們透過鍵盤按鍵來決定貪吃蛇的走向,以便它能吃到樹莓。如何判斷貪吃蛇有沒有吃到樹莓呢?很簡單,如果貪吃蛇蛇頭的位置和樹莓的位置重合了,也就是相同,那麼貪吃蛇就吃到樹莓了,否則沒有。同時,一旦發生了樹莓被吃的情況,立刻重新隨機生成一個新的樹莓。相關程式碼如下:

7

死亡判斷則分為兩類情況,一是觸碰到了遊戲介面的邊界,二是貪吃蛇觸碰到了自己的身體。一旦發生死亡,則觸發gameover。

8

貪吃蛇運動和吃掉樹莓的過程中,遊戲介面需要不斷更新。同時,我們設定了遊戲速度。

9

至此,我們就能完成一個貪吃蛇小遊戲了。趕緊去實驗一下吧!


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31548651/viewspace-2773084/,如需轉載,請註明出處,否則將追究法律責任。

相關文章