欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

只需要100行Python代碼就可以實(shí)現(xiàn)的貪吃蛇小游戲

 更新時(shí)間:2021年05月27日 11:33:39   作者:程序員的小傲嬌  
貪吃蛇小游戲相信80、90后小時(shí)候肯定都玩過,那么你知道如果通過Python來實(shí)現(xiàn)嗎?今天就來教大家,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python的小伙伴們很有幫助,需要的朋友可以參考下

圖示

在這里插入圖片描述

基本準(zhǔn)備

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

1.游戲顯示:游戲界面、結(jié)束界面

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

3.樹莓:隨機(jī)生成

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

游戲顯示

首先,我們來初始化pygame,定義顏色、游戲界面的窗口大小、標(biāo)題和圖標(biāo)等。

在這里插入圖片描述

游戲結(jié)束界面,我們會(huì)顯示“Game Over!”和該局游戲所得分?jǐn)?shù),相關(guān)代碼如下:

在這里插入圖片描述

貪吃蛇和樹莓

我們需要將整個(gè)界面看成許多20*20的小方塊,每個(gè)方塊代表一個(gè)單位,蛇的長度用單位來表示,同時(shí)我們采用列表的形式存儲(chǔ)蛇的身體。同時(shí),我們都知道,樹莓的位置是隨機(jī)的。所以,我們需要讓樹莓出現(xiàn)的位置是游戲界面中的隨機(jī)位置,同時(shí),每吃到一顆樹莓,就需要重新生成一顆新的樹莓,并且得分加1。相關(guān)初始化設(shè)置如下:

在這里插入圖片描述

如何控制貪吃蛇的運(yùn)動(dòng)軌跡呢,那么就需要按鍵控制了。我們通過鍵盤的↑↓←→和WSAD來控制,如果想直接退出游戲,則可以通過Esc鍵。這里需要強(qiáng)調(diào)的是,貪吃蛇里面是不能反方向運(yùn)動(dòng),因此,我們需要進(jìn)一步的增加限制條件:

在這里插入圖片描述

方向設(shè)置好了,那么貪吃蛇蛇身變換怎么做啊?很簡單,我們只需要根據(jù)方向變換一下坐標(biāo)即可。

在這里插入圖片描述

貪吃蛇游戲里面最重要的就是食物判斷和死亡判斷。首先是食物判斷,我們通過鍵盤按鍵來決定貪吃蛇的走向,以便它能吃到樹莓。如何判斷貪吃蛇有沒有吃到樹莓呢?很簡單,如果貪吃蛇蛇頭的位置和樹莓的位置重合了,也就是相同,那么貪吃蛇就吃到樹莓了,否則沒有。同時(shí),一旦發(fā)生了樹莓被吃的情況,立刻重新隨機(jī)生成一個(gè)新的樹莓。相關(guān)代碼如下:

在這里插入圖片描述

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

在這里插入圖片描述

貪吃蛇運(yùn)動(dòng)和吃掉樹莓的過程中,游戲界面需要不斷更新。同時(shí),我們設(shè)置了游戲速度。

在這里插入圖片描述

至此,我們就能完成一個(gè)貪吃蛇小游戲了。趕緊去實(shí)驗(yàn)一下吧!

到此這篇關(guān)于只需要100行Python代碼就可以實(shí)現(xiàn)的貪吃蛇小游戲的文章就介紹到這了,更多相關(guān)Python貪吃蛇小游戲內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python中處理無效數(shù)據(jù)的詳細(xì)教程

    Python中處理無效數(shù)據(jù)的詳細(xì)教程

    無效數(shù)據(jù)是指不符合數(shù)據(jù)收集目的或數(shù)據(jù)收集標(biāo)準(zhǔn)的數(shù)據(jù),這些數(shù)據(jù)可能來自于不準(zhǔn)確的測量、缺失值、錯(cuò)誤標(biāo)注、虛假的數(shù)據(jù)源或其他問題,本文就將帶大家學(xué)習(xí)Python中如何處理無效數(shù)據(jù),感興趣的同學(xué)可以跟著小編一起來學(xué)習(xí)
    2023-06-06
  • python實(shí)現(xiàn)視頻分幀效果

    python實(shí)現(xiàn)視頻分幀效果

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)視頻分幀效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • PyTorch零基礎(chǔ)入門之構(gòu)建模型基礎(chǔ)

    PyTorch零基礎(chǔ)入門之構(gòu)建模型基礎(chǔ)

    PyTorch是一個(gè)開源的Python機(jī)器學(xué)習(xí)庫,基于Torch,用于自然語言處理等應(yīng)用程序,它是一個(gè)可續(xù)計(jì)算包,提供兩個(gè)高級功能:1、具有強(qiáng)大的GPU加速的張量計(jì)算(如NumPy)。2、包含自動(dòng)求導(dǎo)系統(tǒng)的深度神經(jīng)網(wǎng)絡(luò)
    2021-10-10
  • Pandas DataFrame轉(zhuǎn)換為字典的方法

    Pandas DataFrame轉(zhuǎn)換為字典的方法

    實(shí)際開發(fā)中我們可能會(huì)遇到一類問題,如何將Pandas DataFrame轉(zhuǎn)換為字典,本文就來介紹一下,感興趣的可以了解一下
    2021-05-05
  • python中rb含義理解

    python中rb含義理解

    在本篇文章里小編給大家整理的是關(guān)于python中rb含義及用法內(nèi)容,需要的朋友們可以學(xué)習(xí)下。
    2020-06-06
  • Python使用type動(dòng)態(tài)創(chuàng)建類操作示例

    Python使用type動(dòng)態(tài)創(chuàng)建類操作示例

    這篇文章主要介紹了Python使用type動(dòng)態(tài)創(chuàng)建類操作,結(jié)合實(shí)例形式詳細(xì)分析了Python使用type動(dòng)態(tài)創(chuàng)建類的具體原理、實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下
    2020-02-02
  • jupyter 實(shí)現(xiàn)notebook中顯示完整的行和列

    jupyter 實(shí)現(xiàn)notebook中顯示完整的行和列

    這篇文章主要介紹了jupyter 實(shí)現(xiàn)notebook中顯示完整的行和列,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • python3?requests中文亂碼之壓縮格式問題解析

    python3?requests中文亂碼之壓縮格式問題解析

    這篇文章主要介紹了python3?requests中文亂碼問題之壓縮格式問題,我們在爬蟲時(shí),經(jīng)常會(huì)遇見中文亂碼問題,之前都是編碼格式的問題,很少遇見由于壓縮格式造成的編碼混亂問題,特記錄下,需要的朋友可以參考下
    2022-08-08
  • python namedtuple函數(shù)的使用

    python namedtuple函數(shù)的使用

    今天介紹collections里面的一個(gè)好用的小函數(shù): namedtuple函數(shù)(不創(chuàng)類而可以擁有類的便利),例如可以使用object.attribute
    2021-06-06
  • Python面向?qū)ο笾蓡T相關(guān)知識總結(jié)

    Python面向?qū)ο笾蓡T相關(guān)知識總結(jié)

    通過面向?qū)ο筮M(jìn)行編程時(shí),會(huì)遇到很多種情況,也會(huì)使用不同的成員來實(shí)現(xiàn),接下來我們來逐一介紹成員特性和應(yīng)用場景,需要的朋友可以參考下
    2021-06-06

最新評論