面向对象_人狗大战

from time import sleep
class Person:
    role= 'people'
    def __init__(self,name,attack,blood,defense,weapon=None):
        self.name= name
        self.attack=int(attack)
        self.blood=int(blood)
        self.defense=defense
        self.weapon=weapon
    def attack_start(self,dog_name):
        if self.weapon == None:
            dog_name.blood -= self.attack
            print(self.name+'攻击了%s,'%dog_name.name)
        else:
            dog_name.blood -= self.attack
            print('%s使用%s砍了%s一刀'%(self.name,self.weapon,dog_name.name))
    def equip_weapon(self,weapon_name):
        self.blood += 1000
        self.attack+= 50
        self.weapon = weapon_name.name
        print('%s捡到了%s'%(self.name,weapon_name.name))
class Dog:
    role='dog'
    def __init__(self,name,kind,aggresivity,defence,blood):
        self.name=name
        self.kind=kind
        self.aggresivity=aggresivity
        self.defence=defence
        self.blood=blood
    def bite(self,person):
        person.blood -= self.aggresivity
        print('%s咬了%s一口'%(self.name,person.name))
class weapon:
    def __init__(self,name,add_attack,add_blood):
        self.name=name
        self.add_attack=add_attack
        self.add_flood=add_blood
        print('爆出了一件%s'%self.name)
print('人狗大战即将开始')
for i in range(10,-1,-1):
    print(i)
    sleep(0.6)
print('开始')
alex = Person('alex',10,500,50)
teddy = Dog('teddy','teddy',100,50,90)
sleep(0.6)
alex.attack_start(teddy)
sleep(0.6)
print(teddy.blood)#blood血液 flood 洪水
sleep(0.6)
teddy.bite(alex)
sleep(0.6)
print(alex.blood)
sleep(0.6)
wujin=weapon('无尽之刃',10,100)
sleep(0.6)
alex.equip_weapon(wujin)
sleep(0.6)
alex.attack_start(teddy)
sleep(0.6)
print(teddy.blood)
print('未完待续')

 

转载于:https://www.cnblogs.com/accolade/p/10500044.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值