久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

怎么用python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的貪吃蛇游戲

共計(jì) 1448 個(gè)字符,預(yù)計(jì)需要花費(fèi) 4 分鐘才能閱讀完成。

下面是一個(gè)簡(jiǎn)單的貪吃蛇游戲的 Python 實(shí)現(xiàn)代碼示例:

import pygame
import time
import random

pygame.init()

# 設(shè)置窗口大小 
win_width = 800
win_height = 600
win = pygame.display.set_mode((win_width, win_height))
pygame.display.set_caption(" 貪吃蛇游戲 ")

# 設(shè)置顏色 
black = (0, 0, 0)
white = (255, 255, 255)
red = (255, 0, 0)

# 設(shè)置蛇和食物初始位置 
snake_block = 10
snake_speed = 15
snake_pos = [(win_width//2, win_height//2)]
food_pos = (random.randint(0, win_width//snake_block - 1) * snake_block, random.randint(0, win_height//snake_block - 1) * snake_block)

# 初始化方向 
x_change = 0
y_change = 0

# 游戲主循環(huán) 
run = True
while run:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_LEFT:
                x_change = -snake_block
                y_change = 0
            elif event.key == pygame.K_RIGHT:
                x_change = snake_block
                y_change = 0
            elif event.key == pygame.K_UP:
                x_change = 0
                y_change = -snake_block
            elif event.key == pygame.K_DOWN:
                x_change = 0
                y_change = snake_block
    
    # 更新蛇的位置 
    new_pos = (snake_pos[0][0] + x_change, snake_pos[0][1] + y_change)
    snake_pos.insert(0, new_pos)
    
    # 檢查蛇是否吃到食物 
    if snake_pos[0] == food_pos:
        food_pos = (random.randint(0, win_width//snake_block - 1) * snake_block, random.randint(0, win_height//snake_block - 1) * snake_block)
    else:
        snake_pos.pop()
    
    # 繪制窗口 
    win.fill(black)
    for pos in snake_pos:
        pygame.draw.rect(win, white, (pos[0], pos[1], snake_block, snake_block))
    pygame.draw.rect(win, red, (food_pos[0], food_pos[1], snake_block, snake_block))
    
    pygame.display.update()
    
    # 控制蛇的速度 
    pygame.time.Clock().tick(snake_speed)
    
# 退出游戲 
pygame.quit()

這段代碼實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的貪吃蛇游戲,玩家可以通過(guò)方向鍵控制蛇的移動(dòng)方向,吃到食物會(huì)增加蛇的長(zhǎng)度,如果蛇撞到墻壁或者撞到自己就會(huì)游戲結(jié)束。希望對(duì)你有幫助!

丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2024-03-22發(fā)表,共計(jì)1448字。
轉(zhuǎn)載說(shuō)明:除特殊說(shuō)明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請(qǐng)注明出處。
評(píng)論(沒(méi)有評(píng)論)
主站蜘蛛池模板: 宣化县| 饶河县| 镇巴县| 安福县| 车险| 平定县| 仙游县| 嘉祥县| 海南省| 苏尼特右旗| 新绛县| 乐都县| 万州区| 安徽省| 丹凤县| 瑞金市| 新源县| 平阴县| 武定县| 绩溪县| 阿勒泰市| 平阳县| 五华县| 永寿县| 凉城县| 张家港市| 江口县| 定西市| 通道| 泸西县| 时尚| 千阳县| 曲水县| 衡阳市| 江北区| 诏安县| 榆中县| 嘉祥县| 玉树县| 青神县| 义乌市|