pygame包游戏代码
时间: 2023-07-09 09:42:50 浏览: 92
pygame示例代码
以下是一个使用 Pygame 包制作的简单游戏代码,玩家需要使用方向键控制飞机躲避障碍物。
```python
import pygame
import random
# 初始化 Pygame
pygame.init()
# 设置游戏窗口大小
window_width = 800
window_height = 600
game_window = pygame.display.set_mode((window_width, window_height))
# 设置游戏标题
pygame.display.set_caption('飞机大战')
# 定义颜色
black = (0, 0, 0)
white = (255, 255, 255)
# 设置游戏时钟
clock = pygame.time.Clock()
# 加载图片
player_image = pygame.image.load('player.png')
player_width = 50
player_height = 50
enemy_image = pygame.image.load('enemy.png')
enemy_width = 50
enemy_height = 50
# 定义玩家和敌人的位置
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 = 0
# 定义玩家和敌人的速度
player_speed = 5
enemy_speed = 5
# 定义得分
score = 0
# 定义字体
font = pygame.font.SysFont(None, 30)
# 游戏主循环
while True:
# 处理游戏事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
# 获取键盘输入
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT] and player_x > 0:
player_x -= player_speed
elif keys[pygame.K_RIGHT] and player_x < window_width - player_width:
player_x += player_speed
# 移动敌人
enemy_y += enemy_speed
# 如果敌人超出屏幕,重新生成敌人
if enemy_y > window_height:
enemy_x = random.randint(0, window_width - enemy_width)
enemy_y = 0
score += 1
# 如果玩家和敌人相撞,游戏结束
if player_x < enemy_x + enemy_width and player_x + player_width > enemy_x and player_y < enemy_y + enemy_height and player_y + player_height > enemy_y:
pygame.quit()
quit()
# 绘制游戏画面
game_window.fill(white)
game_window.blit(player_image, (player_x, player_y))
game_window.blit(enemy_image, (enemy_x, enemy_y))
# 显示得分
score_text = font.render('得分:' + str(score), True, black)
game_window.blit(score_text, (10, 10))
# 更新游戏画面
pygame.display.update()
# 设置游戏帧率
clock.tick(60)
```
这个游戏中,玩家需要使用方向键左右移动,躲避从上方不断降落的敌人。如果玩家和敌人相撞,游戏结束。每次敌人超出屏幕,玩家得到一分。你可以根据自己的想法和需求修改代码,制作自己喜欢的游戏。
阅读全文