python游戏制作
时间: 2024-01-01 12:23:43 浏览: 35
以下是一个简单的Python游戏制作的例子:
```python
import pygame
import random
# 初始化游戏
pygame.init()
# 设置游戏窗口大小
screen_width = 800
screen_height = 600
screen = pygame.display.set_mode((screen_width, screen_height))
pygame.display.set_caption("My Game")
# 加载游戏资源
player_image = pygame.image.load("player.png")
enemy_image = pygame.image.load("enemy.png")
bullet_image = pygame.image.load("bullet.png")
# 定义游戏角色
player_x = 400
player_y = 500
player_speed = 5
enemy_x = random.randint(0, screen_width)
enemy_y = random.randint(50, 150)
enemy_speed = 3
bullet_x = 0
bullet_y = 500
bullet_speed = 10
bullet_state = "ready"
# 游戏循环
running = True
while running:
screen.fill((0, 0, 0))
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_SPACE:
if bullet_state == "ready":
bullet_x = player_x
bullet_state = "fire"
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
player_x -= player_speed
if keys[pygame.K_RIGHT]:
player_x += player_speed
if player_x < 0:
player_x = 0
elif player_x > screen_width - 64:
player_x = screen_width - 64
if bullet_state == "fire":
bullet_y -= bullet_speed
if bullet_y < 0:
bullet_state = "ready"
player_rect = pygame.Rect(player_x, player_y, 64, 64)
enemy_rect = pygame.Rect(enemy_x, enemy_y, 64, 64)
bullet_rect = pygame.Rect(bullet_x, bullet_y, 32, 32)
if bullet_rect.colliderect(enemy_rect):
bullet_state = "ready"
enemy_x = random.randint(0, screen_width)
enemy_y = random.randint(50, 150)
pygame.draw.rect(screen, (255, 0, 0), player_rect)
pygame.draw.rect(screen, (0, 255, 0), enemy_rect)
pygame.draw.rect(screen, (0, 0, 255), bullet_rect)
screen.blit(player_image, (player_x, player_y))
screen.blit(enemy_image, (enemy_x, enemy_y))
screen.blit(bullet_image, (bullet_x, bullet_y))
pygame.display.update()
# 退出游戏
pygame.quit()
```