亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

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

背景也是純黑填充。
各種音樂(lè)字體特效玩法場(chǎng)景等大家可以自由發(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(): ?#場(chǎng)景更新
? ? 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; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?#檢測(cè)蛇是否死亡
? ? ? ??
? ? ? ? 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()

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

相關(guān)文章

  • Python小技巧練習(xí)分享

    Python小技巧練習(xí)分享

    這篇文章主要介紹了Python小技巧練習(xí)分享,文章基于python的相關(guān)內(nèi)容展開詳細(xì)的python小技巧內(nèi)容,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-05-05
  • 使用Python實(shí)現(xiàn)with結(jié)構(gòu)的@contextmanager方法詳解

    使用Python實(shí)現(xiàn)with結(jié)構(gòu)的@contextmanager方法詳解

    這篇文章主要介紹了使用Python實(shí)現(xiàn)with結(jié)構(gòu)的@contextmanager方法詳解,這個(gè)結(jié)構(gòu)的好處,一個(gè)是簡(jiǎn)潔,一個(gè)是當(dāng)我們對(duì)文件操作的邏輯很長(zhǎng)的時(shí)候,不會(huì)因?yàn)橥岁P(guān)閉文件而造成不必要的錯(cuò)誤,需要的朋友可以參考下
    2023-07-07
  • Python基礎(chǔ)之變量基本用法與進(jìn)階詳解

    Python基礎(chǔ)之變量基本用法與進(jìn)階詳解

    這篇文章主要介紹了Python基礎(chǔ)之變量基本用法與進(jìn)階,結(jié)合實(shí)例形式詳細(xì)分析了Python變量引用、可變和不可變類型、局部變量和全局變量等相關(guān)原理與使用技巧,需要的朋友可以參考下
    2020-01-01
  • 一文詳解Python加解壓文件gzip庫(kù)的操作

    一文詳解Python加解壓文件gzip庫(kù)的操作

    Gzip是若干種文件壓縮程序的簡(jiǎn)稱,通常指GNU計(jì)劃的實(shí)現(xiàn)。本文為大家介紹了Python中加解壓文件gzip庫(kù)的基本操作,感興趣的小伙伴可以了解一下
    2022-11-11
  • Python生成MD5值的兩種方法實(shí)例分析

    Python生成MD5值的兩種方法實(shí)例分析

    這篇文章主要介紹了Python生成MD5值的兩種方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Python實(shí)現(xiàn)MD5加密的常見(jiàn)操作技巧,需要的朋友可以參考下
    2019-04-04
  • Tensorflow中的降維函數(shù)tf.reduce_*使用總結(jié)

    Tensorflow中的降維函數(shù)tf.reduce_*使用總結(jié)

    這篇文章主要介紹了Tensorflow中的降維函數(shù)tf.reduce_*使用總結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • python爬取豆瓣電影TOP250數(shù)據(jù)

    python爬取豆瓣電影TOP250數(shù)據(jù)

    這次以豆瓣電影TOP250網(wǎng)為例編寫一個(gè)爬蟲程序,并將爬取到的數(shù)據(jù)(排名、電影名和電影海報(bào)網(wǎng)址)存入MySQL數(shù)據(jù)庫(kù)中。
    2021-05-05
  • 對(duì)Python3 goto 語(yǔ)句的使用方法詳解

    對(duì)Python3 goto 語(yǔ)句的使用方法詳解

    今天小編就為大家分享一篇對(duì)Python3 goto 語(yǔ)句的使用方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-02-02
  • python網(wǎng)絡(luò)爬蟲精解之pyquery的使用說(shuō)明

    python網(wǎng)絡(luò)爬蟲精解之pyquery的使用說(shuō)明

    PyQuery是一個(gè)類似于jQuery的解析網(wǎng)頁(yè)工具,使用lxml操作xml和html文檔,它的語(yǔ)法和jQuery很像。和XPATH,Beautiful Soup比起來(lái),PyQuery更加靈活,提供增加節(jié)點(diǎn)的class信息,移除某個(gè)節(jié)點(diǎn),提取文本信息等功能
    2021-09-09
  • Python+OpenCV圖像處理—— 色彩空間轉(zhuǎn)換

    Python+OpenCV圖像處理—— 色彩空間轉(zhuǎn)換

    這篇文章主要介紹了Python+OpenCV如何對(duì)圖片進(jìn)行色彩空間轉(zhuǎn)換,幫助大家更好的利用python處理圖片,感興趣的朋友可以了解下下
    2020-10-10

最新評(píng)論