class Gun:
def __init__(self,model,bullet_count):
#枪的型号
self.model = model
self.bullet_count = bullet_count
def __str__(self):
return ('枪的型号:%s\n剩余子弹数量:%d'%
(self.model,
self.bullet_count))
def add_bullet(self,count):
self.bullet_count += count
print('装填完成,现在有%d子弹' % self.bullet_count)
def shoot(self):
if self.bullet_count<=0:
print('[%s]没有子弹了!!'% self.model)
return
self.bullet_count -= 1
print("开了一枪,真痛快!!")
class Soldier:
def __init__(self,name):
#士兵名字
self.name = name
#新兵没有枪
self.gun = None
def __str__(self):
return ('名字:%s\n枪型号:%s\n剩余子弹:%d'%(
self.name,
self.gun.model,
self.gun.bullet_count))
# 发枪
def setGun(self,model,count):
self.gun = Gun(model,count)
# 给枪装填子弹
def gun_add_bullet(self,count):
if self.gun is None:
print('还没枪呢!!')
else:
self.gun.add_bullet(count)
def fire(self):
# 1.判断是否有枪
if self.gun is None:
print('还没枪呢,快发一条!!!')
return
# 2.高喊口号
print('冲啊....[%s]' % self.name)
# 4.发射子弹
self.gun.shoot()
士兵突击的封装
最新推荐文章于 2022-10-23 16:09:11 发布