共計(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ì)的資源集合!
正文完