最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

pygame實(shí)現(xiàn)貪吃蛇游戲

 更新時間:2022年01月12日 10:52:36   作者:DOLPHINちゃん  
這篇文章主要為大家詳細(xì)介紹了pygame實(shí)現(xiàn)貪吃蛇游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了pygame實(shí)現(xiàn)貪吃蛇游戲的具體代碼,供大家參考,具體內(nèi)容如下

為了簡化起見,游戲素材暫定為兩張簡單的圖片(文中用的是30*30)。
大家很方便就能制作。

背景也是純黑填充。
各種音樂字體特效玩法場景等大家可以自由發(fā)揮

import pygame
import sys
import random
fps=6 ? ?#設(shè)置幀率
move={'up':[-30,0],'down':[30,0],'left':[0,-30],'right':[0,30]} ?#上下左右映射為值
? ?
class MOCCASIN(object): ?#蛇類
? ? def __init__(self):
? ? ? ? self.scheme=pygame.image.load('moccasin.png')
? ? ? ? self.x=int(20*random.random())*30
? ? ? ? self.y=int(20*random.random())*30
? ? ? ? self.body=[[self.x,self.y],[self.x,self.y+30],[self.x,self.y+60]]
? ? ? ? self.direct='up'
? ? ? ?
? ? def update(self):
? ? ? ? self.x+=move[self.direct][1]
? ? ? ? self.y+=move[self.direct][0]
? ? ? ? self.body.insert(0,[self.x,self.y])

class FOOD(object): ?#食物類
? ? def __init__(self):
? ? ? ? self.scheme=pygame.image.load('food.png')
? ? ? ? self.coordinate=(int(20*random.random())*30,int(20*random.random())*30)

def updateMap(): ?#場景更新
? ? screen.fill((0,0,0))
? ? moccasin.update()
? ? screen.blit(food.scheme,food.coordinate)
? ? for x in moccasin.body:
? ? ? ? screen.blit(moccasin.scheme,tuple(x)+(30,30))

def bitself(): ?#是否咬到自己
? ? dct={}
? ? for ll in moccasin.body:
? ? ? ? if tuple(ll) in dct :return True
? ? ? ? dct[tuple(ll)]=1
? ? return False ? ? ??
? ? ? ??
if __name__=='__main__':
? ? pygame.init()
? ? pygame.display.set_caption('「moccasin」')
? ? screen=pygame.display.set_mode((600,600))

? ? food=FOOD()
? ? moccasin=MOCCASIN()
? ? clk=pygame.time.Clock()

? ? while True:
? ? ? ? clk.tick(fps)
? ? ? ? for event in pygame.event.get():
? ? ? ? ? ? if event.type==pygame.QUIT:
? ? ? ? ? ? ? ? sys.exit()
? ? ? ? ? ? elif event.type==pygame.KEYDOWN:
? ? ? ? ? ? ? ? if event.key==pygame.K_UP and moccasin.direct!='down':
? ? ? ? ? ? ? ? ? ? moccasin.direct='up'
? ? ? ? ? ? ? ? if event.key==pygame.K_DOWN and moccasin.direct!='up':
? ? ? ? ? ? ? ? ? ? moccasin.direct='down'
? ? ? ? ? ? ? ? if event.key==pygame.K_LEFT and moccasin.direct!='right':
? ? ? ? ? ? ? ? ? ? moccasin.direct='left'
? ? ? ? ? ? ? ? if event.key==pygame.K_RIGHT and moccasin.direct!='left':
? ? ? ? ? ? ? ? ? ? moccasin.direct='right'
? ? ? ? ? ? ? ? ? ??
? ? ? ? if not (0<=moccasin.x<600 and 0<=moccasin.y<600) or bitself():?
? ? ? ? ? ? break; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#檢測蛇是否死亡
? ? ? ??
? ? ? ? if food.coordinate==tuple(moccasin.body[0]): #是否吃到食物
? ? ? ? ? ? food=FOOD()
? ? ? ? else: moccasin.body.pop()
? ? ? ? ? ??
? ? ? ? updateMap() #更新地圖
? ? ? ? pygame.display.update()
? ? ? ??
? ? #蛇死亡,游戲結(jié)束
? ? screen.fill((0,0,0))
? ? tips="失 敗"
? ? tipsFont=pygame.font.Font('C:\Windows\Fonts\msyh.ttc',100)
? ? tipsSurf=tipsFont.render(tips,1,(255,255,255))
? ? screen.blit(tipsSurf,(screen.get_width()/2-tipsSurf.get_width()/2,256))
? ? pygame.display.flip()

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python的信號庫Blinker用法詳解

    Python的信號庫Blinker用法詳解

    在本篇文章里小編給大家整理了一篇關(guān)于Python的信號庫Blinker用法詳解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2020-12-12
  • Python中的流程控制詳解

    Python中的流程控制詳解

    這篇文章主要介紹了Python中的流程控制的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-02-02
  • python中的3種定義類方法

    python中的3種定義類方法

    這篇文章主要給大家分享得是 python中的3種定義類方法,分別是普通方法、類方法(@classmethod)以及類方法(@classmethod),想了解方法具體實(shí)現(xiàn)的小伙伴可以參考下面文章內(nèi)容哦,希望對你有所幫助
    2021-11-11
  • Python如何爬取實(shí)時變化的WebSocket數(shù)據(jù)的方法

    Python如何爬取實(shí)時變化的WebSocket數(shù)據(jù)的方法

    這篇文章主要介紹了Python如何爬取實(shí)時變化的WebSocket數(shù)據(jù)的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • pycharm遠(yuǎn)程調(diào)試openstack的圖文教程

    pycharm遠(yuǎn)程調(diào)試openstack的圖文教程

    這篇文章主要為大家詳細(xì)介紹了pycharm遠(yuǎn)程調(diào)試openstack的圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • Python機(jī)器學(xué)習(xí)入門(一)序章

    Python機(jī)器學(xué)習(xí)入門(一)序章

    這篇文章主要介紹了Python機(jī)器學(xué)習(xí)入門知識,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • python_tkinter事件類型詳情

    python_tkinter事件類型詳情

    這篇文章主要介紹了python_tkinter事件詳情,文章基于python_tkinter事件相關(guān)資料分享的內(nèi)容有事件綁定函數(shù),事件對象等相關(guān)自資料,需要的小伙伴可以參考一下
    2022-03-03
  • python執(zhí)行CMD指令,并獲取返回的方法

    python執(zhí)行CMD指令,并獲取返回的方法

    今天小編就為大家分享一篇python執(zhí)行CMD指令,并獲取返回的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • python 計算平均平方誤差(MSE)的實(shí)例

    python 計算平均平方誤差(MSE)的實(shí)例

    今天小編就為大家分享一篇python 計算平均平方誤差的實(shí)例 (MSE),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • Python實(shí)現(xiàn)簡單登錄驗(yàn)證

    Python實(shí)現(xiàn)簡單登錄驗(yàn)證

    這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)簡單登錄驗(yàn)證的相關(guān)資料,需要的朋友可以參考下
    2016-04-04

最新評論

邵武市| 孟村| 达孜县| 湘乡市| 故城县| 涟源市| 枣阳市| 曲水县| 阳西县| 定安县| 麦盖提县| 建德市| 阳信县| 普宁市| 万盛区| 大田县| 闽侯县| 临朐县| 博湖县| 聂拉木县| 上饶县| 尖扎县| 甘孜县| 洪江市| 长乐市| 宜州市| 太原市| 上杭县| 双桥区| 广河县| 江油市| 长乐市| 雷州市| 奈曼旗| 五河县| 翼城县| 金寨县| 环江| 绵阳市| 合阳县| 静宁县|