用python编一个可以用键盘上下左右键控制移动,空格键发射子弹的飞机小游戏
时间: 2024-09-22 18:01:59 浏览: 19
要实现一个用键盘上下左右键控制移动,空格键发射子弹的飞机小游戏,我们可以使用Python的pygame库。首先需要安装pygame库,可以使用以下命令安装:
```bash
pip install pygame
```
接下来是一个简单的飞机游戏示例代码:
```python
import pygame
import sys
# 初始化pygame
pygame.init()
# 设置屏幕大小
screen_width = 800
screen_height = 600
screen = pygame.display.set_mode((screen_width, screen_height))
# 设置标题
pygame.display.set_caption("飞机小游戏")
# 加载飞机图片
plane_image = pygame.image.load("plane.png")
plane_rect = plane_image.get_rect()
# 设置飞机速度
speed = 5
# 子弹列表
bullets = []
# 游戏主循环
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_SPACE:
# 发射子弹
bullets.append(pygame.Rect(plane_rect.x + plane_rect.width // 2, plane_rect.y, 5, 10))
# 获取按键状态
keys = pygame.key.get_pressed()
if keys[pygame.K_UP]:
plane_rect.y -= speed
if keys[pygame.K_DOWN]:
plane_rect.y += speed
if keys[pygame.K_LEFT]:
plane_rect.x -= speed
if keys[pygame.K_RIGHT]:
plane_rect.x += speed
# 限制飞机在屏幕内
plane_rect.clamp_ip(screen.get_rect())
# 更新子弹位置并绘制
for bullet in bullets[:]:
bullet.y -= 10
if bullet.y < 0:
bullets.remove(bullet)
pygame.draw.rect(screen, (255, 0, 0), bullet)
# 绘制飞机
screen.fill((0, 0, 0))
screen.blit(plane_image, plane_rect)
pygame.display.flip()
```
注意:你需要将`plane.png`替换为你自己的飞机图片文件路径。运行这段代码后,你将看到一个窗口,其中包含一个可以用键盘上下左右键控制移动的飞机,按下空格键会发射子弹。