可以帮我写一个贪吃蛇的游戏代码吗

当然可以。下面是一个简单的贪吃蛇游戏代码,使用Python的pygame库实现。python import pygame import random 初始化pygame pygame.init()设置屏幕大小 screen = pygame.display.set_mode((640, 480))设置颜色 WHITE = (255, 255, 255)RED = (255, 0, 0)GREEN = (0, 255, 0)BLACK = (0, 0...
可以帮我写一个贪吃蛇的游戏代码吗
当然可以。下面是一个简单的贪吃蛇游戏代码,使用Python的pygame库实现。

python

import pygame

import random

# 初始化pygame

pygame.init()

# 设置屏幕大小

screen = pygame.display.set_mode((640, 480))

# 设置颜色

WHITE = (255, 255, 255)

RED = (255, 0, 0)

GREEN = (0, 255, 0)

BLACK = (0, 0, 0)

# 设置蛇和食物的大小

SNAKE_SIZE = 20

FOOD_SIZE = 20

# 设置游戏速度

SPEED = 15

# 定义蛇类

class Snake:

def __init__(self):

self.body = [(100, 100), (90, 100), (80, 100)]

self.direction = (10, 0)

def move(self):

head = self.body[0]

new_head = ((head[0] + self.direction[0]) % 640, (head[1] + self.direction[1]) % 480)

self.body = [new_head] + self.body[:-1]

def grow(self):

head = self.body[0]

new_head = ((head[0] + self.direction[0]) % 640, (head[1] + self.direction[1]) % 480)

self.body = [new_head] + self.body

def draw(self):

for segment in self.body:

pygame.draw.rect(screen, GREEN, (segment[0], segment[1], SNAKE_SIZE, SNAKE_SIZE))

# 定义食物类

class Food:

def __init__(self):

self.position = (random.randint(0, 640 // SNAKE_SIZE) SNAKE_SIZE, random.randint(0, 480 // SNAKE_SIZE) SNAKE_SIZE)

def draw(self):

pygame.draw.rect(screen, RED, self.position + (0, 0, FOOD_SIZE, FOOD_SIZE))

# 创建蛇和食物对象

snake = Snake()

food = Food()

# 设置游戏结束标志

game_over = False

# 游戏主循环

while not game_over:

for event in pygame.event.get():

if event.type == pygame.QUIT:

game_over = True

elif event.type == pygame.KEYDOWN:

if event.key == pygame.K_UP and snake.direction != (0, 10):

snake.direction = (0, -10)

elif event.key == pygame.K_DOWN and snake.direction != (0, -10):

snake.direction = (0, 10)

elif event.key == pygame.K_LEFT and snake.direction != (10, 0):

snake.direction = (-10, 0)

elif event.key == pygame.K_RIGHT and snake.direction != (-10, 0):

snake.direction = (10, 0)

screen.fill(BLACK)

snake.move()

if snake.body[0] == food.position:

snake.grow()

food = Food()

snake.draw()

food.draw()

pygame.display.flip()

pygame.time.Clock().tick(SPEED)

pygame.quit()

代码这个贪吃蛇游戏使用Python的pygame库实现。游戏的主要部分包括一个蛇类和一个食物类。蛇类有一个身体列表,用于存储蛇的每个部分的位置,以及一个方向元组,用于存储蛇的移动方向。蛇类还有move、grow和draw方法,分别用于移动蛇、增加蛇的长度和绘制蛇。食物类有一个位置属性,用于存储食物的位置,以及一个draw方法,用于绘制食物。游戏的主循环使用pygame的事件循环来处理用户的输入和游戏逻辑。在游戏循环中,首先检查是否有退出事件,如果有,则设置游戏结束标志为True。然后检查是否有按键事件,如果有,则根据按键的方向更新蛇的移动方向。接下来,移动蛇,检查蛇是否吃到食物,如果吃到食物,则增加蛇的长度并重新生成食物。最后,绘制蛇和食物,2023-12-18
mengvlog 阅读 338 次 更新于 2025-12-21 23:44:21 我来答关注问题0
檬味博客在线解答立即免费咨询

代码相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部