用我的电脑上的资源实现python写一个飞机大战游戏代码
时间: 2024-02-03 08:15:15 浏览: 69
好的,下面是一个简单的飞机大战游戏代码:
```python
import pygame
import random
# 初始化 Pygame
pygame.init()
# 设置游戏窗口大小和标题
window_width, window_height = 480, 600
screen = pygame.display.set_mode((window_width, window_height))
pygame.display.set_caption("飞机大战")
# 加载游戏背景图片
background_image = pygame.image.load("background.png").convert()
# 加载玩家飞机图片
player_image = pygame.image.load("player.png").convert_alpha()
player_width, player_height = player_image.get_size()
# 加载敌机图片
enemy_image = pygame.image.load("enemy.png").convert_alpha()
enemy_width, enemy_height = enemy_image.get_size()
# 设置玩家飞机的初始位置
player_x = window_width / 2 - player_width / 2
player_y = window_height - player_height - 10
# 设置敌机的初始位置和速度
enemy_x = random.randint(0, window_width - enemy_width)
enemy_y = -enemy_height
enemy_speed = 5
# 设置玩家飞机的移动速度
player_speed = 5
# 创建一个时钟对象,用于控制游戏帧率
clock = pygame.time.Clock()
# 循环运行游戏
while True:
# 处理游戏事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
exit()
# 处理玩家输入
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
player_x -= player_speed
if keys[pygame.K_RIGHT]:
player_x += player_speed
# 更新敌机位置和速度
enemy_y += enemy_speed
if enemy_y > window_height:
enemy_x = random.randint(0, window_width - enemy_width)
enemy_y = -enemy_height
enemy_speed += 1
# 检测玩家和敌机是否碰撞
player_rect = pygame.Rect(player_x, player_y, player_width, player_height)
enemy_rect = pygame.Rect(enemy_x, enemy_y, enemy_width, enemy_height)
if player_rect.colliderect(enemy_rect):
print("游戏结束!")
pygame.quit()
exit()
# 绘制游戏场景
screen.blit(background_image, (0, 0))
screen.blit(player_image, (player_x, player_y))
screen.blit(enemy_image, (enemy_x, enemy_y))
# 更新屏幕显示
pygame.display.update()
# 控制游戏帧率
clock.tick(60)
```
在上面的代码中,我们使用 Pygame 库来实现游戏的绘制和交互。首先,我们加载游戏背景图片、玩家飞机图片和敌机图片。然后,我们设置玩家飞机和敌机的初始位置和速度,并且设置玩家飞机的移动速度。接着,我们创建一个时钟对象,用于控制游戏帧率。最后,我们在游戏循环中处理游戏事件、玩家输入、更新敌机位置和速度、检测玩家和敌机是否碰撞,并且绘制游戏场景和更新屏幕显示。
阅读全文