py06_05-3:案例之士兵突击

class Gun:
    def __init__(self, model):
        self.model = model
        self.bullet_count = 0

    def add_bullet(self, count):
        self.bullet_count += count

    def shoot(self):
        # 1. 判断子弹数量
        # if self.bullet_count <= 0:
        #     print("[%s]没有子弹了..." % self.model)
        #     return

        # 2. 子弹减少 -1
        self.bullet_count -= 1

        # 3. 提示发射信息
        print('【%s】突突突。。。,子弹还有【%d】' % (self.model, self.bullet_count))


class Soldier:
    def __init__(self, name):
        self.name = name
        self.gun = None

    def fire(self):
        #  1. 判断是否有枪
        
        if  self.gun == None:
            print('[%s]还没有枪' % self.name)
            return
        #  2. 高喊口号
        print('冲啊。。。[%s]' % self.name)
        #  3. 安装子弹
        if self.gun.bullet_count <=0:
          self.gun.add_bullet(50)
        print(self.gun.bullet_count)
        #  4. 让枪发射
        self.gun.shoot()


#  1. 创建枪对象
ak47 = Gun('ak47')

#  2. 创建人物对象
xusandou = Soldier('许三多')
xusandou.gun = ak47
print(xusandou.gun)

xusandou.fire()

 

 

 

猜你喜欢

转载自www.cnblogs.com/yeyu1314/p/12551525.html
今日推荐