10 分鐘用 Python 編寫乙個貪吃蛇小遊戲

2021-09-29 15:09:41 字數 1887 閱讀 3045

貪吃蛇,大家應該都玩過。當初第一次接觸貪吃蛇的時候 ,還是能砸核桃的諾基亞上,當時玩的不亦樂乎。今天,我們用python程式設計乙個貪吃蛇遊戲,下面我們先看看效果:

好了,先介紹乙個思路

所有的遊戲最主要的內容都是程式的內迴圈,這才是保證乙個遊戲能夠正常執行的前提。

以下是編寫貪吃蛇小遊戲的主要思路。

廢話不多說,我們直接來講解如何利用python進行貪吃蛇的編寫吧

一、呼叫庫以及初始設定

呼叫第三方庫

這就是編寫貪吃蛇時我們需要呼叫的庫。

2 .初始設定

我們通過這幾行**來初始化pygame,定義視窗(邊界)的大小,視窗的標題和圖示。

3. 定義顏色變數

由於我們需要用到一些顏色,而python是不自帶的。所以我們需要定義幾個顏色。

二、gameover

之前提到,所有遊戲最重要的部分是迴圈。而gameover函式就是跳出這個迴圈的條件。這裡給出當蛇吃到自己身體或者碰到邊界時顯示的介面(判斷死亡的**會在之後展示)

三、貪吃蛇與樹莓

接下來介紹遊戲的主題部分,即貪吃蛇與蛇莓的顯示以及運動。

定義初始位置

我們將整個介面看成許多20*20的小方塊,每個方塊代表乙個單位,蛇的長度就可以用幾個單位表示啦。這裡蛇的身體用列表的形式儲存,方便之後的刪減。

2 .鍵盤輸入判斷蛇的運動

我們需要通過鍵盤輸入的上下左右鍵或wasd來控制蛇類運動,同時加入按下esc就退出遊戲的功能。

貪吃蛇運動有乙個特點:不能反方向運動。所以我們需要加入限制條件。

接下來就是將蛇頭按照鍵盤的輸入進行轉彎操作,並將蛇頭當前的位置加入到蛇身的列表中。

3 .判斷是否吃到樹莓

如果蛇頭與樹莓的方塊重合,則判定吃到樹莓,將樹莓數量清零;而沒吃到樹莓的話,蛇身就會跟著蛇頭運動,蛇身的最後一節將被踢出列表。

4 .重新生成樹莓

當樹莓數量為0時,重新生成樹莓,同時分數增加。

5. 重新整理顯示層

每次蛇與樹莓的運動,都會進行重新整理顯示層的操作來顯示。有點類似於動畫的"幀"。

6. 判斷是否死亡

當蛇頭超出邊界或者蛇頭與自己的蛇身重合時,蛇類死亡,呼叫gameover。

7. 控制遊戲速度

為了增加難度,我們設定蛇身越長速度越快,直到達到乙個上限。

到這裡,貪吃蛇小遊戲就寫完了。怎樣,簡單不?

10分鐘教你用Python打造乙個AI貪吃蛇

最近在修一門叫python基礎的課,然後匆忙之中做了這個ai貪吃蛇想交個大作業,結果老師的結課作業是給定了題目,我真是 首先說明一點哈,此ai非彼ai。今天要講的ai貪吃蛇還是傳統意義上遍歷圖的找路演算法編寫的,並不是利用機器學習進行學習控制的哈。傳送門 10分鐘教你用python打造貪吃蛇超詳細教...

10分鐘用Python製作戀愛日誌!

前期準備 1.python的wxpy庫,wxpy在itchat的基礎上,通過大量介面優化提公升了模組的易用性,並進行豐富的功能擴充套件。2.python的爬蟲基礎知識。比如,我之前寫到的requests庫的使用。3.python對於日期的操作。對於wxpy庫和requests庫的安裝,都可以用pip...

dhtmlxTree 10分鐘做乙個樹

專案中要做個分類樹和部門樹。架構師讓用dhtmlxtree 做個樹出來。以前也沒寫過樹。也不知道怎麼做。媽的那些文件不解決實際問題。真他媽的蛋疼。自己動手豐衣足食。自己動手寫。寫好了忘了沒寫文件。寫個文件已被後患。希望對能用到的朋友有所幫助 10分鐘絕對能學會 下面有文件。後面附上的是原始碼。完全拷...