校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Python貪吃蛇小游戲?qū)嵗窒?/div>

Python貪吃蛇小游戲?qū)嵗窒?/h1>

熱門標(biāo)簽:高德地圖標(biāo)注收入咋樣 沈陽防封電銷電話卡 萊蕪電信外呼系統(tǒng) 鶴壁手機(jī)自動外呼系統(tǒng)違法嗎 B52系統(tǒng)電梯外呼顯示E7 地圖標(biāo)注多個 怎么辦理400客服電話 企業(yè)微信地圖標(biāo)注 銀川電話機(jī)器人電話

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

使用的庫

pygame 、random 、pyautogui

流程簡述

1.設(shè)置初始參數(shù)

設(shè)置每個網(wǎng)格大小為 20 px ,size可以隨意修改但最好為20的倍數(shù),設(shè)置初始方向向右,初始蛇長為 3 。

# 初始化參數(shù)
size = 320
screen = pygame.display.set_mode([size,size],0 , 32)
pygame.display.set_caption("貪吃蛇")
cell_size = 20
cell_num = int(size/20)
x , y = [60,0]
# 初始方向向右
dir_snake = 'R'
body_snake = [[0,0],[20,0],[40,0],[60,0]]
# 初始蛇長為3
len_snake = 3
# 初始食物坐標(biāo)
food_coor = [random.randint(0, cell_num - 1) * 20, random.randint(0, cell_num - 1) * 20, 20, 20]
# 蛇移動速度
clock = pygame.time.Clock()

2.鍵盤控制

鍵盤上下左右控制蛇方向,禁止反向。

3.食物

蛇頭吃到食物后,蛇長加一 ,random 一個隨機(jī)坐標(biāo),如果坐標(biāo)再蛇身上則繼續(xù) random。

if [x,y] == food_coor[:2]:
    food_coor = [random.randint(0, cell_num - 1) * 20, random.randint(0, cell_num - 1) * 20, 20, 20]
    if food_coor[:2] in body_snake[-2:-len_snake -1 :-1]:
        food_coor = [random.randint(0, cell_num - 1) * 20, random.randint(0, cell_num - 1) * 20, 20, 20]
    len_snake +=1

4. 勝負(fù)判斷

蛇頭與蛇身碰撞判輸,彈出游戲結(jié)束窗口,說明最終蛇長為多長。

if body_snake[-1] in body_snake[-2:-len_snake -1 :-1]:
    pyautogui.alert(text='游戲結(jié)束,最終蛇長為{}'.format(len_snake))
    exit()

代碼及結(jié)果

代碼

import pygame , random ,pyautogui
from pygame.locals import *
# 初始化參數(shù)
size = 500
screen = pygame.display.set_mode([size,size],0 , 32)
pygame.display.set_caption("貪吃蛇")
cell_size = 20
cell_num = int(size/20)
x , y = [60,0]
# 初始方向向右
dir_snake = 'R'
body_snake = [[0,0],[20,0],[40,0],[60,0]]
# 初始蛇長為3
len_snake = 3
# 初始食物坐標(biāo)
food_coor = [random.randint(0, cell_num - 1) * 20, random.randint(0, cell_num - 1) * 20, 20, 20]
# 蛇移動速度
clock = pygame.time.Clock()
# bg
def bg():
    for i in range(0, size , int(cell_size)):
        pygame.draw.line(screen,[72,72,72],[i,0],[i,size])
    for i in range(0, size, int(cell_size)):
        pygame.draw.line(screen, [72, 72, 72], [0, i], [size,i])
# 蛇
def snake(K):
    for x,y in K[:-len_snake - 1:-1]:
        pygame.draw.rect(screen,[255,255,255],[x,y,20,20],0)
# 食物
def food():
    pygame.draw.rect(screen,[255,0,0],food_coor,0)
# 主循環(huán)
def running():
    global x ,y , dir_snake ,food_coor , len_snake
    while True:
        for event in pygame.event.get():
            if event.type == QUIT:
                exit()
        screen.fill((40, 43, 46))
        # 方向規(guī)則
        if dir_snake == 'U':
            y -= 20
        elif dir_snake == 'R':
            x += 20
        elif dir_snake == 'D':
            y += 20
        elif dir_snake == 'L':
            x -= 20
        # 鍵盤方向控制
        if event.type == KEYDOWN:
            if event.key == K_LEFT and dir_snake != 'R':
                dir_snake = 'L'
            elif event.key == K_DOWN and dir_snake != 'U':
                dir_snake = 'D'
            elif event.key == K_RIGHT and dir_snake != 'L':
                dir_snake = 'R'
            elif event.key == K_UP and dir_snake != 'D':
                dir_snake = 'U'
        # 撞墻之后
        if x  0:
            x += size
        elif x >= size:
            x -= size
        elif y  0:
            y += size
        elif y >= size:
            y -= size
        # draw蛇體
        body_snake.append([x,y])
        snake(body_snake)
        food()
        # 吃到食物后food換位置
        if [x,y] == food_coor[:2]:
            food_coor = [random.randint(0, cell_num - 1) * 20, random.randint(0, cell_num - 1) * 20, 20, 20]
            if food_coor[:2] in body_snake[-2:-len_snake -1 :-1]:
                food_coor = [random.randint(0, cell_num - 1) * 20, random.randint(0, cell_num - 1) * 20, 20, 20]
            len_snake +=1
        # 游戲結(jié)束
        if body_snake[-1] in body_snake[-2:-len_snake -1 :-1]:
            pyautogui.alert(text='游戲結(jié)束,最終蛇長為{}'.format(len_snake))
            exit()
        # 格線
        bg()
        # 右下角顯示蛇長
        font = pygame.font.SysFont("simsunnsimsun", 40)
        text_surface = font.render("{}".format(len_snake), True, (255,255, 255))
        screen.blit(text_surface , (size-40,size-40))
        pygame.display.update()
        # 蛇的移動速度隨著蛇的長度而越來越快
        clock.tick(len_snake * 2)

if __name__ == '__main__':
    pygame.init()
    running()

輸出結(jié)果

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

您可能感興趣的文章:
  • 童年回憶錄之python版4399吃豆豆小游戲
  • 基于python pygame實現(xiàn)的兔子吃月餅小游戲
  • Python五子棋小游戲?qū)嵗窒?/li>
  • python游戲的魅力之冒險島實戰(zhàn)項目

標(biāo)簽:呼倫貝爾 湘西 三亞 烏魯木齊 安慶 銀川 葫蘆島 呼倫貝爾

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python貪吃蛇小游戲?qū)嵗窒怼罚疚年P(guān)鍵詞  Python,貪吃,蛇,小游戲,實例,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python貪吃蛇小游戲?qū)嵗窒怼废嚓P(guān)的同類信息!
  • 本頁收集關(guān)于Python貪吃蛇小游戲?qū)嵗窒淼南嚓P(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    久久一夜天堂av一区二区三区| 欧洲av一区二区嗯嗯嗯啊| 91精品国产一区二区三区| 婷婷夜色潮精品综合在线| 666欧美在线视频| 日韩精品午夜视频| 久久蜜桃一区二区| av网站一区二区三区| 夜夜爽夜夜爽精品视频| 欧美绝品在线观看成人午夜影视| 美女视频一区二区三区| 国产精品系列在线| 欧洲人成人精品| 精品在线免费观看| 中文字幕亚洲综合久久菠萝蜜| 色猫猫国产区一区二在线视频| 亚洲123区在线观看| 久久毛片高清国产| 91丨porny丨户外露出| 日韩**一区毛片| 中文字幕一区日韩精品欧美| 欧美亚洲动漫精品| 国产综合成人久久大片91| 亚洲美女电影在线| 26uuu色噜噜精品一区二区| 93久久精品日日躁夜夜躁欧美| 婷婷综合五月天| 国产精品久99| 日韩欧美一区二区三区在线| 成人福利视频网站| 久久精品72免费观看| 中文字幕亚洲综合久久菠萝蜜| 91精品国产综合久久久久| www.亚洲色图| 久久9热精品视频| 一区二区三区四区激情| 久久精品欧美日韩精品| 欧美日韩免费一区二区三区| 风间由美中文字幕在线看视频国产欧美 | 亚洲人成伊人成综合网小说| 欧美一区二区久久久| 99国产精品久久久久| 狠狠网亚洲精品| 五月天一区二区三区| 亚洲欧美日韩一区| 2022国产精品视频| 日韩免费性生活视频播放| 色婷婷综合视频在线观看| 国产成人免费网站| 久久99久久精品| 亚洲国产乱码最新视频| 日韩码欧中文字| 欧美高清在线精品一区| 欧美xxxxxxxx| 日韩欧美亚洲另类制服综合在线| 欧美午夜电影一区| 在线看国产日韩| 91免费看视频| 一本一道波多野结衣一区二区 | 成人网男人的天堂| 国产精品一品二品| 国产一区二区三区久久久 | 成人黄色一级视频| 国产精品正在播放| 国产真实乱子伦精品视频| 麻豆传媒一区二区三区| 蜜桃视频在线一区| 美国毛片一区二区三区| 精品在线免费视频| 精品午夜一区二区三区在线观看| 麻豆精品视频在线| 久久精品国产精品亚洲精品| 日韩av电影一区| 看电视剧不卡顿的网站| 六月婷婷色综合| 精品一区二区三区不卡| 国产麻豆精品视频| 色综合一区二区| 99精品桃花视频在线观看| 97成人超碰视| 欧美中文字幕亚洲一区二区va在线 | 欧美精品久久一区| 欧美一区三区四区| 日韩伦理电影网| 国产精品国产三级国产| 亚洲欧洲国产日本综合| 亚洲综合一区二区精品导航| 亚洲国产精品尤物yw在线观看| 视频一区二区三区入口| 久久精品国产精品亚洲综合| 国产黄人亚洲片| 一本色道久久综合亚洲91| 欧美日韩一区在线观看| 欧美大片拔萝卜| 亚洲国产精品精华液2区45| 亚洲免费在线视频| 婷婷成人综合网| 国产乱码精品一区二区三区五月婷| 成人三级在线视频| 欧美性大战久久久久久久| 91精品国产福利在线观看| 久久精品在线观看| 亚洲一区二区视频在线| 美国欧美日韩国产在线播放| 懂色av一区二区三区免费看| 欧美视频一区二区在线观看| 欧美精品一区二区三区四区 | 亚洲国产aⅴ天堂久久| 麻豆91在线观看| www.综合网.com| 欧美精选一区二区| 国产午夜精品一区二区三区视频| 亚洲欧美一区二区三区极速播放| 亚洲第四色夜色| 盗摄精品av一区二区三区| 欧美三级资源在线| 欧美经典一区二区| 视频一区二区欧美| jlzzjlzz国产精品久久| 久久久精品欧美丰满| 免费在线观看成人| 另类综合日韩欧美亚洲| 99久久99久久久精品齐齐| 在线免费观看日本一区| 日韩视频免费观看高清完整版| 国产精品入口麻豆九色| 日本中文字幕一区| 色综合久久综合| 日韩欧美aaaaaa| 亚洲大片一区二区三区| 337p粉嫩大胆噜噜噜噜噜91av| 中文字幕精品三区| 国产精品一区二区果冻传媒| 欧美日韩欧美一区二区| 亚洲不卡av一区二区三区| 国产精品一区2区| 亚洲欧洲av色图| 亚洲乱码一区二区三区在线观看| 亚洲欧美日韩成人高清在线一区| 国产精品伦理一区二区| 91精品欧美久久久久久动漫| 亚洲国产sm捆绑调教视频| 欧美本精品男人aⅴ天堂| 亚洲成人自拍偷拍| 精品视频一区二区三区免费| 欧美日韩在线三级| 99精品视频在线播放观看| 丝袜亚洲精品中文字幕一区| 欧美特级限制片免费在线观看| 欧美激情资源网| 国产精品996| 精品福利二区三区| 青青草国产精品亚洲专区无| 国产成人在线视频网站| 中文字幕av免费专区久久| 成人综合激情网| 亚洲人成人一区二区在线观看 | 亚洲精选在线视频| 欧美视频在线观看一区| 粉嫩av一区二区三区在线播放| 一区二区日韩av| 亚洲色大成网站www久久九九| 成人免费毛片嘿嘿连载视频| 亚洲综合偷拍欧美一区色| 欧美一级搡bbbb搡bbbb| 欧美高清性hdvideosex| 麻豆91精品91久久久的内涵| 中文字幕av不卡| 3d动漫精品啪啪| 精品视频999| 韩国毛片一区二区三区| 美日韩一级片在线观看| 亚洲欧洲精品一区二区三区| 色婷婷av一区二区三区gif| 秋霞成人午夜伦在线观看| 亚洲男帅同性gay1069| 欧美裸体一区二区三区| 久久国产尿小便嘘嘘| 国产精品乱人伦中文| 国产农村妇女毛片精品久久麻豆 | 亚洲自拍另类综合| 国产三级精品三级在线专区| 欧美疯狂性受xxxxx喷水图片| 黄色日韩三级电影| 九九九久久久精品| 久久国产夜色精品鲁鲁99| 亚洲精品一二三| 国产精品久久久久久久久动漫| 国产精品免费观看视频| 亚洲精品免费在线播放| 亚洲国产一区二区三区青草影视| 18成人在线视频| www久久精品| 99久久精品99国产精品| 亚洲永久免费视频| 日韩欧美一二三区| 93久久精品日日躁夜夜躁欧美| 亚洲黄色片在线观看| 日韩免费高清av| 色综合 综合色|