婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

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

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

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

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

使用的庫

pygame 、random 、pyautogui

流程簡述

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

設置每個網(wǎng)格大小為 20 px ,size可以隨意修改但最好為20的倍數(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
# 初始食物坐標
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 一個隨機坐標,如果坐標再蛇身上則繼續(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. 勝負判斷

蛇頭與蛇身碰撞判輸,彈出游戲結(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
# 初始食物坐標
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)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

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

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

巨人網(wǎng)絡通訊聲明:本文標題《Python貪吃蛇小游戲?qū)嵗窒怼罚疚年P鍵詞  Python,貪吃,蛇,小游戲,實例,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python貪吃蛇小游戲?qū)嵗窒怼废嚓P的同類信息!
  • 本頁收集關于Python貪吃蛇小游戲?qū)嵗窒淼南嚓P信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    蜜桃av噜噜一区| 欧美三级在线看| 国产午夜亚洲精品不卡| 在线看日本不卡| 国产aⅴ综合色| 精品一区二区三区免费播放| 亚洲va欧美va人人爽午夜| 国产精品久久免费看| 国产午夜精品理论片a级大结局| 91精品国产综合久久久蜜臀粉嫩| 91麻豆精东视频| 天天综合日日夜夜精品| 国产精品一区免费视频| 91美女精品福利| 亚洲午夜免费福利视频| 亚洲精品乱码久久久久久久久| 国产在线一区二区| 91精品国产全国免费观看| 免播放器亚洲一区| 99免费精品视频| 丝袜美腿亚洲综合| 欧美极品xxx| 91麻豆国产福利在线观看| 国产精品传媒入口麻豆| 91在线视频播放地址| 亚洲乱码国产乱码精品精可以看 | 亚洲国产精品久久人人爱| 狠狠网亚洲精品| 亚洲精品一区二区在线观看| 国产一区视频导航| 国产精品对白交换视频| av资源网一区| 亚洲亚洲精品在线观看| 欧美乱熟臀69xxxxxx| 五月激情六月综合| 欧美大度的电影原声| 国产福利一区在线| 亚洲综合男人的天堂| 男女性色大片免费观看一区二区| 日本韩国欧美一区| 972aa.com艺术欧美| 亚洲一区二区黄色| 日韩欧美中文一区| 粉嫩av亚洲一区二区图片| 中文字幕免费不卡| 韩国av一区二区三区在线观看| 精品国产免费一区二区三区香蕉| 国产一区不卡在线| 一区av在线播放| 欧美刺激脚交jootjob| 国产精品伊人色| 一区二区三区四区蜜桃| 国产精品一区二区黑丝| 国产精品麻豆久久久| 欧美一激情一区二区三区| 美女视频黄久久| 午夜一区二区三区在线观看| 欧美日韩黄视频| 在线精品视频一区二区三四| 国产精品一区一区| 中文字幕一区二区三区蜜月| 中文字幕的久久| 欧美中文字幕一区二区三区| 色先锋资源久久综合| 色综合久久久久久久久| 在线观看亚洲专区| 欧美日韩激情在线| 日韩久久精品一区| 欧美国产精品劲爆| 偷拍自拍另类欧美| 不卡视频在线观看| 在线观看三级视频欧美| 欧美天堂一区二区三区| 日本精品一区二区三区高清| 日韩一区二区三区免费观看| 99精品国产99久久久久久白柏| 久久精品二区亚洲w码| 亚洲精品中文在线观看| 日韩一区二区三区在线视频| 99麻豆久久久国产精品免费优播| 91看片淫黄大片一级在线观看| 91亚洲男人天堂| 精品日韩成人av| 国产精品久久久久久户外露出| 亚洲一区二区三区影院| 国模冰冰炮一区二区| 99精品国产91久久久久久 | 91麻豆.com| 精品国产乱码久久久久久久| 亚洲精品一二三| 久久精品久久99精品久久| 欧美性生活一区| 欧美激情在线一区二区| 日韩精品国产欧美| 精品视频在线免费| 久久99久久久久久久久久久| 日本久久电影网| 日韩一区中文字幕| 91碰在线视频| 国产精品网站在线| 国内精品在线播放| 欧美一a一片一级一片| 欧美高清一级片在线观看| 日本欧美一区二区在线观看| 欧美日韩中文字幕一区二区| 久久影院视频免费| 国内精品视频666| 精品欧美乱码久久久久久1区2区| 首页国产欧美久久| 欧美丰满少妇xxxbbb| 日本vs亚洲vs韩国一区三区二区 | 欧美精品电影在线播放| 亚洲精品欧美激情| 日韩色在线观看| 久久综合九色综合久久久精品综合| 国产一区二区三区免费观看| 五月天亚洲精品| www日韩大片| 成人福利在线看| 欧美一区二区视频在线观看 | 精品一区二区三区在线观看国产 | 99精品欧美一区二区三区综合在线| 久久精品人人做人人爽97| 亚洲国产精品久久不卡毛片| 在线观看日韩国产| 国产原创一区二区三区| 色av一区二区| 亚洲自拍偷拍欧美| 欧美日韩成人高清| 国产一区三区三区| 亚洲精品伦理在线| 日韩欧美国产麻豆| 91网站视频在线观看| 亚洲激情网站免费观看| 精品精品国产高清一毛片一天堂| 91香蕉视频黄| 国产精品久久一级| 久久综合九色综合97_久久久| 成人国产精品视频| 国模一区二区三区白浆| 亚洲一二三四在线观看| 99久久er热在这里只有精品15| 黄页视频在线91| 午夜av一区二区三区| 亚洲国产精品久久久久秋霞影院| 亚洲三级电影网站| 亚洲乱码日产精品bd| 玉米视频成人免费看| 亚洲成人午夜电影| 日韩国产欧美三级| 狠狠色狠狠色综合日日91app| 五月综合激情网| 日本中文字幕一区| 亚洲综合激情另类小说区| 久久这里只有精品首页| 国产精品天干天干在观线| 老司机免费视频一区二区| 丝袜a∨在线一区二区三区不卡| 日韩二区在线观看| 国产精品自拍在线| 一本色道久久综合精品竹菊| 91在线丨porny丨国产| 91在线观看污| 欧美一区二区精品在线| 国产欧美一区二区精品性色超碰| 中文字幕精品一区二区三区精品| 中文字幕一区二区三区不卡在线| 婷婷夜色潮精品综合在线| 激情综合一区二区三区| 欧美性生活大片视频| 久久久久99精品一区| 亚洲成人av资源| 成人a区在线观看| 国产视频一区二区在线观看| 亚洲国产精品t66y| 另类中文字幕网| 欧美三日本三级三级在线播放| 日韩一区二区三区免费看 | 国产麻豆成人精品| 91国内精品野花午夜精品| 欧美一区二区女人| 香蕉成人伊视频在线观看| 国产美女久久久久| 久久精品亚洲一区二区三区浴池| 青青草伊人久久| 欧美成人女星排名| 国产一区 二区| 精品国产一区二区精华| 秋霞午夜鲁丝一区二区老狼| 欧美日韩一区二区三区在线| 一区二区三区日韩欧美| 国产91精品在线观看| 国产亚洲欧美一区在线观看| 美女爽到高潮91| 欧美一区二区日韩一区二区| 老司机精品视频线观看86| 欧美日韩精品电影| 日产国产高清一区二区三区| 欧美日韩在线电影| 蜜桃久久av一区|