使用python实现打飞机游戏
时间: 2023-07-20 13:37:10 浏览: 50
好的!打飞机游戏可以使用Python中的Pygame库来实现。以下是一个简单的游戏代码示例:
```
import pygame
import random
# 初始化Pygame
pygame.init()
# 设置游戏窗口大小
screen_width = 480
screen_height = 700
screen = pygame.display.set_mode((screen_width, screen_height))
# 设置游戏标题
pygame.display.set_caption("打飞机")
# 加载背景图片
background = pygame.image.load("background.png")
# 加载飞机图片
player = pygame.image.load("player.png")
player_rect = player.get_rect()
player_rect.centerx = screen_width // 2
player_rect.bottom = screen_height - 10
# 创建子弹列表
bullet_list = []
bullet_speed = 10
# 创建敌机列表
enemy_list = []
enemy_speed = 5
# 创建计时器
clock = pygame.time.Clock()
# 创建分数
score = 0
font = pygame.font.Font(None, 36)
# 游戏主循环
while True:
# 处理游戏事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
exit()
# 处理键盘事件
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_SPACE:
bullet = pygame.Rect(player_rect.centerx, player_rect.top, 4, 10)
bullet_list.append(bullet)
# 移动飞机
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT] and player_rect.left > 0:
player_rect.move_ip(-10, 0)
if keys[pygame.K_RIGHT] and player_rect.right < screen_width:
player_rect.move_ip(10, 0)
# 移动子弹
for bullet in bullet_list:
bullet.move_ip(0, -bullet_speed)
if bullet.top < 0:
bullet_list.remove(bullet)
# 生成敌机
if random.randint(1, 60) == 1:
enemy = pygame.Rect(random.randint(0, screen_width - 50), 0, 50, 50)
enemy_list.append(enemy)
# 移动敌机
for enemy in enemy_list:
enemy.move_ip(0, enemy_speed)
if enemy.bottom > screen_height:
enemy_list.remove(enemy)
# 检测子弹和敌机碰撞
for bullet in bullet_list:
for enemy in enemy_list:
if bullet.colliderect(enemy):
bullet_list.remove(bullet)
enemy_list.remove(enemy)
score += 10
# 绘制游戏界面
screen.blit(background, (0, 0))
screen.blit(player, player_rect)
for bullet in bullet_list:
pygame.draw.rect(screen, (255, 255, 255), bullet)
for enemy in enemy_list:
pygame.draw.rect(screen, (255, 0, 0), enemy)
text = font.render("Score: " + str(score), True, (255, 255, 255))
screen.blit(text, (10, 10))
# 更新屏幕
pygame.display.update()
# 控制游戏帧率
clock.tick(60)
```
在代码中,我们使用Pygame库创建了游戏窗口、加载游戏资源、处理用户输入、更新游戏状态、绘制游戏界面等。您需要将代码中的图片和声音资源替换为您自己的资源。