欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > 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)民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
          <abbr id="w000q"></abbr>
          <rt id="w000q"></rt>
          欧美va亚洲va国产综合| 国产精品综合av一区二区国产馆| 97久久精品人人做人人爽| 长河落日免费高清观看| 日韩视频一区二区三区在线播放| 亚洲国产精品欧美一二99| av地址在线观看| 欧美日韩一级二级三级| 亚洲自拍与偷拍| 国产艳妇疯狂做爰视频| 欧美色男人天堂| 一卡二卡欧美日韩| av地址在线观看| 91精品国产福利| 美国毛片一区二区| 国产高清一区二区三区四区| 精品福利在线导航| 国产精品主播直播| 麻豆视频在线免费看| 亚洲日本乱码在线观看| 91蝌蚪porny九色| 欧美日韩五月天| 爽爽淫人综合网网站| 免费看污黄网站在线观看| 精品国产伦一区二区三区免费| 九九在线精品视频| 欧美激情精品久久久久久免费 | 日本xxxxxxxxx18| 久久蜜臀中文字幕| 成人性生交大合| 欧美午夜在线观看| 亚洲国产精品视频| xxx在线播放| 国产精品人人做人人爽人人添| 成人app在线| 欧美日本韩国一区二区三区视频| 天天综合网 天天综合色| 亚洲一区视频在线播放| 国产精品毛片无遮挡高清| 国产亚洲色婷婷久久| 欧美一区二区三区免费大片| 精品亚洲成a人在线观看| 久久中文免费视频| 亚洲电影一级黄| 我想看黄色大片| 亚洲欧美日韩中文字幕一区二区三区| 精品无码av一区二区三区不卡| 日韩亚洲欧美在线| 高清视频一区二区| 777午夜精品视频在线播放| 激情六月婷婷久久| 91精品1区2区| 麻豆精品视频在线| 色婷婷久久久亚洲一区二区三区| 亚洲午夜久久久久| 久久日免费视频| 一区二区成人在线视频 | 亚洲天堂av网站| 国产亚洲欧美激情| 久久久久久无码精品人妻一区二区| 日韩欧美国产一区二区三区 | 国产高清在线免费观看| 偷拍日韩校园综合在线| 午夜激情视频在线播放| 亚洲成人激情社区| 熟女少妇a性色生活片毛片| 亚洲成人免费观看| av激情在线观看| 日本在线观看不卡视频| 一本久久a久久精品亚洲| 男女激情视频一区| 欧美中文字幕一区二区三区| 久久精品999| 欧美日韩综合色| 国产成人免费在线观看不卡| 欧美日本高清视频在线观看| 国产99久久久国产精品免费看| 91精品视频网| 99热精品国产| 久久久久高清精品| 国产真实乱人偷精品| 1024成人网| 欧洲美熟女乱又伦| 天使萌一区二区三区免费观看| 91插插插插插插| fc2成人免费人成在线观看播放| 日本r级电影在线观看| 久久综合色天天久久综合图片| 原创真实夫妻啪啪av| 国产欧美视频一区二区| 亚洲熟女乱综合一区二区三区| 亚洲免费视频中文字幕| 小早川怜子一区二区的演员表| 日本午夜精品视频在线观看| 欧美视频你懂的| 成人av网站免费| 国产色综合久久| 色婷婷在线影院| 婷婷综合久久一区二区三区| 在线观看91视频| 成人黄色a**站在线观看| 国产肉丝袜一区二区| 9.1成人看片免费版| 亚洲va欧美va国产va天堂影院| 色综合久久88色综合天天| 国产精品原创巨作av| 2020国产精品久久精品美国| 亚洲黄色免费在线观看| 亚洲大片在线观看| 91激情在线视频| 成人国产亚洲欧美成人综合网| 国产欧美一区二区三区网站| 国产精品久久久久无码av色戒| 日韩影院免费视频| 7777精品伊人久久久大香线蕉 | 一区二区三区美女| 日本精品裸体写真集在线观看| 国产成人高清在线| 欧美激情一区二区三区四区 | 水蜜桃久久夜色精品一区的特点| 欧美视频一区二区| 亚洲av无码成人精品区| 一区二区三区精品久久久| 欧美在线|欧美| 无码人妻一区二区三区在线视频| 亚洲女爱视频在线| 日本丶国产丶欧美色综合| 99九九99九九九视频精品| 亚洲视频香蕉人妖| 色乱码一区二区三区88| 99国产精品视频免费观看| 亚洲女性喷水在线观看一区| 一本大道久久a久久综合婷婷| 99久久精品一区二区| 亚洲精品国产无天堂网2021| 欧美做爰猛烈大尺度电影无法无天| av电影一区二区| 亚洲综合久久久久| 7777精品久久久大香线蕉| 人妻少妇精品视频一区二区三区| 免费人成黄页网站在线一区二区| 精品日本一线二线三线不卡| 亚洲ⅴ国产v天堂a无码二区| 国产在线播放一区| 国产精品理论片在线观看| 色诱亚洲精品久久久久久| 中文字幕一二三区| 首页欧美精品中文字幕| 欧美精品一区二区三区久久久| 国产主播av在线| 成人白浆超碰人人人人| 洋洋成人永久网站入口| 欧美一区二区在线不卡| 欧美丰满老妇熟乱xxxxyyy| 风间由美一区二区av101| 亚洲免费看黄网站| 91精品欧美福利在线观看| 国产毛片久久久久久久| 丁香六月久久综合狠狠色| 亚洲综合在线免费观看| 日韩欧美视频在线| 黑人狂躁日本娇小| 91美女福利视频| 免费成人av资源网| 欧美高清在线精品一区| 在线亚洲精品福利网址导航| 精品人妻一区二区免费视频| 国内成人精品2018免费看| 最好看的中文字幕久久| 91精品麻豆日日躁夜夜躁| 国产一区第一页| 亚洲熟妇一区二区| 精品一区二区在线观看| 1024国产精品| 欧美videofree性高清杂交| 乱老熟女一区二区三区| 日韩黄色一区二区| 国产美女精品一区二区三区| 玉足女爽爽91| 久久青草欧美一区二区三区| 日本福利一区二区| 欧美图片第一页| 91视频免费播放| 精品一区二区三区视频| 亚洲欧美成人一区二区三区| 精品粉嫩aⅴ一区二区三区四区| 色激情天天射综合网| 国产精品高清无码在线观看| 91网站最新地址| 狠狠色丁香久久婷婷综合_中 | 日韩久久久久久| 色综合婷婷久久| 国产亚洲精品熟女国产成人| 91麻豆免费视频| 国产一区999| 石原莉奈在线亚洲二区| 中文字幕制服丝袜一区二区三区 | 日本在线观看不卡视频| 亚洲欧美福利一区二区| 久久免费午夜影院|