用python写一个推箱子的小游戏程序
时间: 2023-02-19 17:59:40 浏览: 32
逐步python+pygame实现推箱子小游戏,图文并茂,注释详尽,资源完整
可以这样写:
import pygame
# 初始化pygame环境
pygame.init()
# 创建一个窗口
screen = pygame.display.set_mode((500, 500))
# 加载图片
player_image = pygame.image.load("player.png")
box_image = pygame.image.load("box.png")
# 定义玩家和箱子的初始位置
player_x = 250
player_y = 250
box_x = 150
box_y = 150
# 用一个变量来表示玩家是否在移动
player_is_moving = False
# 游戏主循环
running = True
while running:
# 监听事件
for event in pygame.event.get():
# 如果按下的是ESC键,则退出游戏
if event.type == pygame.KEYDOWN and event.key == pygame.K_ESCAPE:
running = False
# 如果按下的是方向键,则玩家开始移动
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_UP or event.key == pygame.K_DOWN or event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
player_is_moving = True
# 根据玩家是否在移动来更新玩家的位置
if player_is_moving:
if pygame.key.get_pressed()[pygame.K_UP]:
player_y -= 5
if pygame.key.get_pressed()[pygame.K_DOWN]:
player_y += 5
if pygame.key.get_pressed()[pygame.K_LEFT]:
player_x -= 5
if pygame.key.get_pressed()[pygame.K_RIGHT]:
player_x += 5
player_is_moving = False
# 根据玩家和箱子的位置来更新箱子的位置
if player_x == box_x and player_y == box_y:
if pygame.key.get_pressed()[pygame.K_UP]:
box_y -= 5
if pygame.key.get_pressed()[pygame.K_DOWN]:
box_y += 5
if pygame.key.get_pressed()[pygame.K_LEFT]:
box_x -= 5
if pygame.key.get_pressed()[pygame.K_RIGHT]:
box_x += 5
# 绘制背景
screen.fill((255, 255, 255))
# 绘制玩家
screen.blit(player_image, (player_x, player_y))
# 绘制箱子
screen.blit(box_image, (box_x, box_y))
# 刷新屏幕
pygame.display.flip()
阅读全文