用python写一个简单的射击游戏
时间: 2023-07-04 11:14:52 浏览: 56
好的,下面是一个简单的Python射击游戏的代码示例,使用了Pygame库:
```python
import pygame
import random
# 初始化Pygame
pygame.init()
# 窗口大小
width = 600
height = 400
# 创建窗口
screen = pygame.display.set_mode((width, height))
# 游戏标题
pygame.display.set_caption("射击游戏")
# 加载背景图片
background = pygame.image.load("background.jpg")
# 加载玩家图片
player_image = pygame.image.load("player.png")
player_width = player_image.get_width()
player_height = player_image.get_height()
# 玩家初始位置
player_x = width / 2 - player_width / 2
player_y = height - player_height - 20
# 玩家移动速度
player_speed = 5
# 加载敌人图片
enemy_image = pygame.image.load("enemy.png")
enemy_width = enemy_image.get_width()
enemy_height = enemy_image.get_height()
# 敌人初始位置
enemy_x = random.randint(0, width - enemy_width)
enemy_y = -enemy_height
# 敌人移动速度
enemy_speed = 3
# 分数
score = 0
# 字体
font = pygame.font.SysFont("Arial", 24)
# 游戏循环
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] and player_x > 0:
player_x -= player_speed
if keys[pygame.K_RIGHT] and player_x < width - player_width:
player_x += player_speed
# 移动敌人
enemy_y += enemy_speed
if enemy_y > height:
enemy_x = random.randint(0, width - enemy_width)
enemy_y = -enemy_height
# 碰撞检测
if enemy_y + enemy_height > player_y and enemy_y < player_y + player_height and enemy_x + enemy_width > player_x and enemy_x < player_x + player_width:
score -= 1
enemy_x = random.randint(0, width - enemy_width)
enemy_y = -enemy_height
# 绘制背景
screen.blit(background, (0, 0))
# 绘制玩家
screen.blit(player_image, (player_x, player_y))
# 绘制敌人
screen.blit(enemy_image, (enemy_x, enemy_y))
# 绘制分数
score_text = font.render("Score: " + str(score), True, (255, 255, 255))
screen.blit(score_text, (10, 10))
# 更新屏幕
pygame.display.update()
# 延迟
pygame.time.delay(10)
# 增加分数
score += 1
```
这个游戏的规则很简单,玩家使用左右箭头移动来躲避从顶部不断落下的敌人,同时也可以尝试射击敌人以获得更高的分数。这个游戏只是一个非常基础的示例,你可以根据自己的需要进行扩展和改进。