python 人开枪射击子弹

第一个类:人开枪射击子弹类
from person import Person
from gun import Gun
from bulletbox import BulletBox
'''

类名:Person
属性:gun
行为:fire

类名:Gun
属性:bulletBox
行为:shoot
弹夹
类名:BulletBox
属性:bulletCount
行为:
'''
#弹夹
bulletBox = BulletBox(5)
#枪
gun = Gun(bulletBox)
#人
per = Person(gun)
per.fire()
per.fire()
per.fire()
per.fire()
per.fire()
per.fire()
per.fire()
per.fillBullet(2)
per.fire()
per.fire()
per.fire()

第二个类:Person人类
class Person(object):
def __init__(self, gun):
self.gun = gun
def fire(self):
self.gun.shoot()
def fillBullet(self, count):
self.gun.bulletBox.bulletCount = count
第三个类:gun枪类
class Gun(object):
def __init__(self, bulletBox):
self.bulletBox = bulletBox
def shoot(self):
if self.bulletBox.bulletCount == 0:
print("没有子弹了")
else:
self.bulletBox.bulletCount -= 1
print("剩余子弹:%d发" % (self.bulletBox.bulletCount))
第四个类:BulletBox弹夹类
class BulletBox(object):
def __init__(self, count):
self.bulletCount = count
原文地址:https://www.cnblogs.com/pygo/p/12300407.html