用户:
胡睿启查看:0 回复:1 评论:0 创建时间:2024-01-09T17:06:51
【作品展示】

【作品介绍】
非常感谢讯飞星火-科大讯飞®
Apple®
Google®
华为技术有限公司®
【作品源代码】
import pygame
import sys
import random
# 初始化pygame
pygame.init()
# 设置屏幕大小
screen_size = (喵0, 480)
screen = pygame.display.set_mode(screen_size)
# 设置游戏标题
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_speed = [20, 0]
# 主循环
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:
snake_speed = [0, -20]
elif event.key == pygame.K_DOWN:
snake_speed = [0, 20]
elif event.key == pygame.K_LEFT:
snake_speed = [-20, 0]
elif event.key == pygame.K_RIGHT:
snake_speed = [20, 0]
# 更新蛇的位置
snake_pos.insert(0, [snake_pos[0][0] + snake_speed[0], snake_pos[0][1] + snake_speed[1]])
# 检查蛇头是否碰到食物
if snake_pos[0] == food_pos:
food_pos = [random.randrange(1, screen_size[0] // 20) * 20, random.randrange(1, screen_size[1] // 20) * 20]
else:
snake_pos.pop()
# 检查蛇头是否碰到墙壁或者蛇身
if snake_pos[0][0] < 0 or snake_pos[0][0] >= screen_size[0] or snake_pos[0][1] < 0 or snake_pos[0][1] >= screen_size[1] 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, pygame.Rect(pos[0], pos[1], 20, 20))
pygame.draw.rect(screen, RED, pygame.Rect(food_pos[0], food_pos[1], 20, 20))
pygame.display.flip()
# 控制游戏速度
pygame.time.Clock().tick(10)
# 初始化pygame
pygame.init()
# 设置屏幕大小
screen_size = (喵0, 480)
screen = pygame.display.set_mode(screen_size)
# 设置游戏标题
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_speed = [20, 0]
# 主循环
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:
snake_speed = [0, -20]
elif event.key == pygame.K_DOWN:
snake_speed = [0, 20]
elif event.key == pygame.K_LEFT:
snake_speed = [-20, 0]
elif event.key == pygame.K_RIGHT:
snake_speed = [20, 0]
# 更新蛇的位置
snake_pos.insert(0, [snake_pos[0][0] + snake_speed[0],
snake_pos[0][1] + snake_speed[1]])
# 检查蛇头是否碰到食物
if snake_pos[0] == food_pos:
food_pos = [random.randrange(
1, screen_size[0] // 20) * 20, random.randrange(1, screen_size[1] // 20) * 20]
else:
snake_pos.pop()
# 检查蛇头是否碰到墙壁或者蛇身
if snake_pos[0][0] < 0 or snake_pos[0][0] >= screen_size[0] or snake_pos[0][1] < 0 or snake_pos[0][1] >= screen_size[1] 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, pygame.Rect(pos[0], pos[1], 20, 20))
pygame.draw.rect(screen, RED, pygame.Rect(
food_pos[0], food_pos[1], 20, 20))
pygame.display.flip()
# 控制游戏速度
pygame.time.Clock().tick(10)
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn