python第三次作业

本文介绍了如何在Pygame中创建一个名为Enemy的游戏对象,继承自GameBase类。敌机类随机选择图片、速度,并在每次移动时判断是否飞出屏幕,飞出则销毁。
摘要由CSDN通过智能技术生成

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()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值