小鸟躲避障碍物Python
时间: 2024-11-03 13:08:03 浏览: 40
在Python中,我们可以使用游戏编程库如pygame来创建一个简单的小鸟躲避障碍物的游戏。以下是一个基本的示例:
```python
import pygame
import sys
# 初始化pygame
pygame.init()
# 设置窗口大小和标题
window_size = (400, 600)
screen = pygame.display.set_mode(window_size)
pygame.display.set_caption("小鸟躲避障碍")
# 定义小鸟、障碍物和分数等变量
bird_image = pygame.image.load('bird.png')
obstacle_image = pygame.image.load('obstacle.png')
score = 0
bird_pos = [window_size[0] // 2, window_size[1] - bird_image.get_height() * 2]
obstacles = []
# 游戏主循环
running = True
while running:
# 处理事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# 更新小鸟位置
keys = pygame.key.get_pressed()
if keys[pygame.K_UP]:
bird_pos[1] -= 5
if keys[pygame.K_DOWN]:
bird_pos[1] += 5
# 移动障碍物和检测碰撞
for obstacle in obstacles:
obstacle.move(1) # 比如每帧移动一格
if obstacle.colliderect(bird_pos): # 如果碰撞
score -= 1 # 减分并清除障碍
obstacles.pop(0) # 移除已撞的障碍物
break
# 绘制元素
screen.fill((0, 0, 0))
screen.blit(bird_image, bird_pos)
for obstacle in obstacles:
screen.blit(obstacle_image, obstacle.rect)
pygame.draw.rect(screen, (255, 0, 0), pygame.Rect(0, 0, 100, 100), 2) # 示例:显示得分
font = pygame.font.Font(None, 36)
text = font.render(f"Score: {score}", True, (255, 255, 255))
screen.blit(text, (10, 10))
# 更新屏幕
pygame.display.flip()
# 游戏结束,关闭窗口
pygame.quit()
sys.exit()
```
在这个例子中,我们首先导入了必要的模块,然后初始化pygame并设置游戏界面。游戏循环里,我们监听键盘输入控制小鸟上下移动,同时更新障碍物的位置,并检查是否与小鸟发生碰撞。如果发生碰撞,小鸟会减分,并移除这个障碍物。
阅读全文