class Gun:
    def __init__(self,model):
        # 枪的类型
        self.model = model
        # 子弹数量
        self.bullet_number = None

    # 查询子弹数量
    def queryBulletsNum(self):
        return self.bullet_number

    # 安装子弹
    def install_bullet(self,number):
        self.bullet_number = number

    # 扣动扳机
    def shot(self):
        # 如果没有子弹则报错返回
        if self.bullet_number is None:
            print(u'%s没有子弹'%self.model)
            return
        print('Bang Bang Bang......')
        # 每次开枪子弹数量递减
        self.bullet_number -= 1
        print('子弹数量:%s'%self.bullet_number)


class Solder:
    def __init__(self,name):
        # 士兵名字
        self.name = name
        # 新兵没有枪
        self.gun = None

    # 装填子弹
    def fill_ammunition(self,number):
        if self.gun is None:
            print('%s没有枪!')
            return
        self.gun.install_bullet(number)

    # 开枪
    def fire(self):
        if self.gun is None:
            print('%s没有枪!')
            return
        self.gun.shot()

# 主程序
def Main():
    # 创建士兵
    Mak = Solder('makchikin')
    # 创建枪
    AK47 = Gun('AK47')

    # Mak获得AK47
    Mak.gun = AK47
    # 开枪60次
    for i in range(60):
        # 查询子弹数量
        bulletsNum = Mak.gun.queryBulletsNum()
        if bulletsNum is None or bulletsNum == 0:
            # 士兵装填子弹
            Mak.fill_ammunition(50)
        # 开火
        Mak.fire()

if __name__  == '__main__':
    Main()

 

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐