以下是一个简单的坦克大战游戏的 Python 代码,利用了 Pygame 库:

import pygame
import random

# 初始化 Pygame
pygame.init()

# 设置屏幕大小
screen_width = 800
screen_height = 600
screen = pygame.display.set_mode((screen_width, screen_height))

# 设置游戏标题
pygame.display.set_caption('Tank Game')

# 加载坦克图片
tank_image = pygame.image.load('tank.png')
enemy_image = pygame.image.load('enemy.png')

# 定义坦克类
class Tank:
    def __init__(self, x, y, speed):
        self.image = tank_image
        self.rect = self.image.get_rect()
        self.rect.x = x
        self.rect.y = y
        self.speed = speed
        self.direction = 'up'
        
    def move(self):
        if self.direction == 'up':
            self.rect.y -= self.speed
        elif self.direction == 'down':
            self.rect.y += self.speed
        elif self.direction == 'left':
            self.rect.x -= self.speed
        elif self.direction == 'right':
            self.rect.x += self.speed
            
    def draw(self, surface):
        surface.blit(self.image, self.rect)

# 定义敌人坦克类
class EnemyTank(Tank):
    def __init__(self, x, y, speed):
        super().__init__(x, y, speed)
        self.direction = random.choice(['up', 'down', 'left', 'right'])

    def update(self):
        self.move()
        if random.randint(1, 100) == 1:
            self.direction = random.choice(['up', 'down', 'left', 'right'])
            
# 创建玩家坦克
player_tank = Tank(screen_width/2, screen_height/2, 5)

# 创建敌人坦克列表
enemy_tanks = []
for i in range(5):
    x = random.randint(0, screen_width)
    y = random.randint(0, screen_height)
    enemy_tank = EnemyTank(x, y, 3)
    enemy_tanks.append(enemy_tank)

# 游戏循环
running = True
while running:
    # 处理事件
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_UP:
                player_tank.direction = 'up'
            elif event.key == pygame.K_DOWN:
                player_tank.direction = 'down'
            elif event.key == pygame.K_LEFT:
                player_tank.direction = 'left'
            elif event.key == pygame.K_RIGHT:
                player_tank.direction = 'right'
                
    # 移动玩家坦克
    player_tank.move()
    
    # 移动敌人坦克
    for enemy_tank in enemy_tanks:
        enemy_tank.update()

    # 绘制画面
    screen.fill((255, 255, 255))
    player_tank.draw(screen)
    for enemy_tank in enemy_tanks:
        enemy_tank.draw(screen)
    pygame.display.flip()

# 退出 Pygame
pygame.quit()

在这个代码中,我们定义了一个 Tank 类和一个 EnemyTank 类,分别表示玩家坦克和敌人坦克。这两个类都有 move()draw() 方法,分别表示移动和绘制。敌人坦克还有一个 update() 方法,用于随机更新敌人坦克的行动方向。

在游戏循环中,我们检测玩家的按键事件,并移动玩家坦克。同时,我们也移动敌人坦克,并将玩家坦克和敌人坦克绘制到屏幕上。最后,我们使用 pygame.display.flip() 方法来更新屏幕。游戏循环会一直运行,直到玩家关闭游戏窗口。

这个代码只是一个简单的示例,可以作为学习 Python 游戏开发的基础。你可以根据自己的需求进行扩展,例如添加射击功能、爆炸效果、得分系统等等。

Python 坦克大战游戏:简易代码示例

原文地址: https://www.cveoy.top/t/topic/lO51 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录