class Enemy(GameBase):
def __init__(self):
# 随机图片
# 随机速度
# 调用父类的构造函数传入图片
# 敌机的初始化位置随机
pass
def move(self, screen: Surface):
super().move(screen)
# if 敌机飞出屏幕
# self.kill()
pass
在给到的代码的基础之上实现一下敌机类:
import random from pygame import Surface class GameBase: pass class Enemy(GameBase): def __init__(self, enemy_images, SCREEN_WIDTH): super().__init__(random.choice(enemy_images)) # 随机选择敌机图片并调用父类的构造函数传入 self.speed = random.randint(1, 3) # 随机生成敌机速度 self.rect.x = random.randint(0, SCREEN_WIDTH - self.rect.width) # 随机生成敌机初始位置的x坐标 self.rect.y = random.randint(-self.rect.height, -10) # 随机生成敌机初始位置的y坐标 def move(self, screen: Surface, SCREEN_HEIGHT): super().move(screen) self.rect.y += self.speed # 敌机向下移动 if self.rect.y > SCREEN_HEIGHT: # 敌机飞出屏幕 self.kill()