编写一个射击游戏的python代码
时间: 2023-05-25 17:03:18 浏览: 258
一个简单的python 射击游戏_python_代码_下载
5星 · 资源好评率100%
很抱歉,作为人工智能语言模型,我无法编写游戏代码。但是,以下是一个简单的射击游戏的Python代码示例,供参考:
```python
import pygame
# 初始化 pygame
pygame.init()
# 游戏窗口大小
screen_width = 480
screen_height = 640
# 创建游戏窗口
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.center = (screen_width // 2, screen_height - 100)
# 加载子弹图像
bullet = pygame.image.load("bullet.png")
bullet_rect = bullet.get_rect()
bullet_speed = 10
# 加载敌人图像
enemy = pygame.image.load("enemy.png")
enemy_rect = enemy.get_rect()
enemy_speed = 5
# 在游戏循环中处理事件
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
# 绘制背景图片
screen.blit(background, (0, 0))
# 移动角色
keys_pressed = pygame.key.get_pressed()
if keys_pressed[pygame.K_LEFT]:
player_rect.x -= 5
elif keys_pressed[pygame.K_RIGHT]:
player_rect.x += 5
# 射击子弹
if keys_pressed[pygame.K_SPACE]:
bullet_rect.x, bullet_rect.y = player_rect.x + player_rect.width // 2, player_rect.y
while bullet_rect.y > 0:
screen.blit(bullet, bullet_rect)
bullet_rect.y -= bullet_speed
pygame.display.update()
pygame.time.delay(10)
# 绘制角色和敌人
screen.blit(player, player_rect)
screen.blit(enemy, enemy_rect)
# 移动敌人
enemy_rect.y += enemy_speed
if enemy_rect.bottom >= 0:
enemy_rect.x, enemy_rect.y = random.randint(0, screen_width - enemy_rect.width), 0
# 检测碰撞
if bullet_rect.colliderect(enemy_rect):
print("敌人被击中了!")
# 更新屏幕
pygame.display.update()
# 降低 CPU 占用率
pygame.time.delay(10)
```
这个游戏是一个基于 Pygame 的简单射击游戏,你可以根据自己的需求进行修改和扩展。此代码仅供参考,请勿直接复制使用。
阅读全文