定一个人狗大战 并且用面向对象的组合知识
class Person(object): def __init__(self, name, sex, hp, ad): = name = sex = hp =ad = 0 #定义一个默认的属性 #定义一个人攻击物的方法 def attack(self, d): -= print('{}攻击了{},{}掉了{}血'.format(,, ,)) # 但是你想想 你要装备动东西的话 那么你需要先充值啊 毕竟腾讯系啊 def pay(self): money = int(input('请输入你要充值的钱数')) += money print('充值成功 总资金%s' % ) #定义一个人可以购买的武器的方法 def zhuangbei(self, weapon): # = weapon #把你传递进来的属性 赋值给这个类本身 if >= : = weapon #把你的传递进来的参数给类本身 以方便类本身来调用 print('购买成功, 您已经成功装备了武器') -= else : print('余额不足请充值') def attack_with(self,dog): #这个是用武器攻击的方法 if 'weapon' in self.__dict__: #判读你把组合的信息赋予了类本身没有 .attack3(dog) else : print('您还没有购买装备 请购买') class Dog(object): #定义一个动物类 def __init__(self, name, sex, hp,ad): = name = sex = hp = ad #定义一个动物攻击其他的方法 def attack1(self, p): -= print('{}攻击了{},{}掉了{}血'.format(, , , )) #模拟你的游戏 你可以装备武器来进攻 #定义一个武器类 class weapon(object): def __init__(self, name, price, ad,leval): #初始化你的对象 =name =price = ad = leval def attack3(self, m): -= print('{}攻击了{},{}掉了{}血'.format(, , , )) #实例化对象 alex = Person('老王', '女', 100,30) tendy = Dog('泰迪', '公', 100,50) weapon = weapon('菜刀', 1000, 100,1) li = ['攻击', '充值', '购买', '使用武器攻击'] while True : for i in li : num = int(input('请输入您要选择的序列信息')) if num == 1 : (tendy) elif num == 2 : () elif num == 3 : (weapon) elif num == 4 : alex.attack3(tendy) else :
转载于:/u/3825370/blog/1794922