吃豆人python源码
时间: 2023-07-09 16:14:45 浏览: 126
以下是一个简单的吃豆人游戏的 Python 代码示例:
```python
import pygame
import random
# 游戏窗口大小
WINDOW_WIDTH = 640
WINDOW_HEIGHT = 480
# 颜色定义
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
BLUE = (0, 0, 255)
YELLOW = (255, 255, 0)
# 游戏初始化
pygame.init()
# 创建游戏窗口
window = pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT))
pygame.display.set_caption("吃豆人")
# 时钟对象,控制游戏速度
clock = pygame.time.Clock()
# 加载游戏资源
player_image = pygame.image.load("player.png")
player_rect = player_image.get_rect()
enemy_image = pygame.image.load("enemy.png")
enemy_rect = enemy_image.get_rect()
coin_image = pygame.image.load("coin.png")
coin_rect = coin_image.get_rect()
# 设置游戏对象的初始位置
player_rect.centerx = WINDOW_WIDTH / 2
player_rect.centery = WINDOW_HEIGHT / 2
enemy_rect.centerx = random.randint(0, WINDOW_WIDTH)
enemy_rect.centery = random.randint(0, WINDOW_HEIGHT)
coin_rect.centerx = random.randint(0, WINDOW_WIDTH)
coin_rect.centery = random.randint(0, WINDOW_HEIGHT)
# 游戏循环
while True:
# 处理游戏事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
# 退出游戏
pygame.quit()
sys.exit()
# 处理玩家输入
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
player_rect.move_ip(-5, 0)
if keys[pygame.K_RIGHT]:
player_rect.move_ip(5, 0)
if keys[pygame.K_UP]:
player_rect.move_ip(0, -5)
if keys[pygame.K_DOWN]:
player_rect.move_ip(0, 5)
# 碰撞检测
if player_rect.colliderect(enemy_rect):
# 游戏结束
pygame.quit()
sys.exit()
if player_rect.colliderect(coin_rect):
# 吃掉金币
coin_rect.centerx = random.randint(0, WINDOW_WIDTH)
coin_rect.centery = random.randint(0, WINDOW_HEIGHT)
# 绘制游戏场景
window.fill(BLACK)
window.blit(player_image, player_rect)
window.blit(enemy_image, enemy_rect)
window.blit(coin_image, coin_rect)
pygame.display.update()
# 控制游戏速度
clock.tick(60)
```
这是一个简单的吃豆人游戏,其中包含了玩家、敌人、金币等游戏对象,使用 pygame 库进行游戏开发。你可以根据自己的需求和喜好对代码进行修改和扩展。
阅读全文