6 星空与你 1年前 244次点击
贪吃蛇游戏代码如下:
import pygame
import sys
import random
# 初始化pygame
pygame.init()
# 设置屏幕大小
screen_width = 640
screen_height = 480
screen = pygame.display.set_mode((screen_width, screen_height))
# 设置游戏标题
pygame.display.set_caption("贪吃蛇")
# 定义颜色
WHITE = (255, 255, 255)
GREEN = (0, 255, 0)
RED = (255, 0, 0)
# 蛇的初始位置
snake_pos = [[100, 100], [80, 100], [60, 100]]
# 食物的初始位置
food_pos = [300, 300]
# 设置蛇和食物的大小
snake_size = 20
food_size = 20
# 设置游戏速度
clock = pygame.time.Clock()
speed = 15
# 设置蛇的移动方向
direction = "RIGHT"
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_UP and direction != "DOWN":
direction = "UP"
elif event.key == pygame.K_DOWN and direction != "UP":
direction = "DOWN"
elif event.key == pygame.K_LEFT and direction != "RIGHT":
direction = "LEFT"
elif event.key == pygame.K_RIGHT and direction != "LEFT":
direction = "RIGHT"
# 更新蛇的位置
if direction == "UP":
snake_pos.insert(0, [snake_pos[0][0], snake_pos[0][1] - snake_size])
elif direction == "DOWN":
snake_pos.insert(0, [snake_pos[0][0], snake_pos[0][1] + snake_size])
elif direction == "LEFT":
snake_pos.insert(0, [snake_pos[0][0] - snake_size, snake_pos[0][1]])
elif direction == "RIGHT":
snake_pos.insert(0, [snake_pos[0][0] + snake_size, snake_pos[0][1]])
# 检查蛇是否吃到食物
if snake_pos[0] == food_pos:
food_pos = [random.randrange(1, screen_width // snake_size) * snake_size,
random.randrange(1, screen_height // snake_size) * snake_size]
else:
snake_pos.pop()
# 检查蛇是否撞到墙或者自己
if (snake_pos[0][0] < 0 or snake_pos[0][0] >= screen_width or
snake_pos[0][1] < 0 or snake_pos[0][1] >= screen_height or
snake_pos[0] in snake_pos[1:]):
pygame.quit()
sys.exit()
# 绘制蛇和食物
screen.fill(WHITE)
for pos in snake_pos:
pygame.draw.rect(screen, GREEN, (pos[0], pos[1], snake_size, snake_size))
pygame.draw.rect(screen, RED, (food_pos[0], food_pos[1], food_size, food_size))
# 更新屏幕
pygame.display.flip()
# 控制游戏速度
clock.tick(speed)
(内容由讯飞星火AI生成)
所以讯飞星火到底是做什么用的?