欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

蟒蛇入门笔记 [XXII] 案例:士兵突击

最编程 2024-05-26 11:19:21
...
class Gun: def __init__(self, model): # 1.枪的型号 self.model = model # 2.子弹的数量 self.bullet_count = 0 # 装填子弹 def add_bullet(self, count): self.bullet_count += count # 射击 def shoot(self): # 1.判断子弹数量 if self.bullet_count <= 0: print("[%s]没有子弹了[%d]" % (self.model, self.bullet_count)) return # 2.发射子弹, -1 self.bullet_count -= 1 # 3.提示发射信息 print("哒哒哒[%d]" % self.bullet_count) class Soldier: def __init__(self, name): # 1.姓名 self.name = name # 2.枪,新兵没有枪 self.gun = None def fire(self): # 1.判断士兵是否有枪 # if self.gun == None: if self.gun is None: print("尴尬[%s]还没有枪" % self.name) return # 2.高喊口号 print("冲嘎!!") # 3.装填子弹 if self.gun.bullet_count <= 0: self.gun.add_bullet(50) # 4.射击 self.gun.shoot() # 1.创建枪对象 ak = Gun("AK") ak.add_bullet(45) ak.shoot() # 2.创建士兵许三多 xu_san_duo = Soldier("许三多") xu_san_duo.gun = ak while xu_san_duo.gun.bullet_count > 0: xu_san_duo.fire() print("士兵许三多出色完成任务")