pygame简单小游戏代码
时间: 2023-09-05 18:06:49 浏览: 92
使用pygame在python中的一个简单游戏_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").convert()
player = pygame.image.load("player.png").convert_alpha()
enemy = pygame.image.load("enemy.png").convert_alpha()
# 设置游戏参数
player_rect = player.get_rect()
player_rect.left = (screen_width - player_rect.width) // 2
player_rect.top = screen_height - player_rect.height - 50
enemies = []
for i in range(5):
enemy_rect = enemy.get_rect()
enemy_rect.left = random.randint(0, screen_width - enemy_rect.width)
enemy_rect.top = random.randint(-screen_height, 0)
enemies.append(enemy_rect)
score = 0
font = pygame.font.Font(None, 36)
# 游戏循环
while True:
# 处理游戏事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
exit()
# 处理键盘事件
key_pressed = pygame.key.get_pressed()
if key_pressed[pygame.K_LEFT]:
player_rect.left -= 5
if key_pressed[pygame.K_RIGHT]:
player_rect.left += 5
if key_pressed[pygame.K_UP]:
player_rect.top -= 5
if key_pressed[pygame.K_DOWN]:
player_rect.top += 5
# 处理敌机移动
for enemy_rect in enemies:
enemy_rect.top += 3
if enemy_rect.top > screen_height:
enemy_rect.left = random.randint(0, screen_width - enemy_rect.width)
enemy_rect.top = random.randint(-screen_height, 0)
# 处理碰撞检测
for enemy_rect in enemies:
if player_rect.colliderect(enemy_rect):
pygame.quit()
exit()
# 处理分数
for enemy_rect in enemies:
if enemy_rect.top >= screen_height:
score += 10
enemy_rect.left = random.randint(0, screen_width - enemy_rect.width)
enemy_rect.top = random.randint(-screen_height, 0)
# 绘制游戏界面
screen.blit(background, (0, 0))
screen.blit(player, player_rect)
for enemy_rect in enemies:
screen.blit(enemy, enemy_rect)
score_text = font.render("Score: {}".format(score), True, (255, 255, 255))
screen.blit(score_text, (10, 10))
# 更新游戏界面
pygame.display.update()
```
游戏规则:
玩家控制一个飞机,在屏幕上移动,避开敌机,得分。当玩家撞到敌机时,游戏结束。每个敌机飞出屏幕下方后,会重新在屏幕上方随机位置生成,得分加10分。
阅读全文