【1.105】如何进行类组合关系,看看 刺 杀 演示

1、来看看组合  三国中 刘备 刺杀 曹操

class Sanguo:
    def __init__(self,name,ad,pd):
        self.name = name
        self.ad = ad
        self.pd = pd
    def  equi_weapon(self,wea):
        self.wea = wea
    def tushou_biwu(self,p2):
        p2.pd -= self.ad
        if p2.pd <= 0:
            print("[%s] 被 [%s] 用徒手打死" % (p2.name, self.name))
        else:
            print("[%s] 徒手攻击了 [%s],[%s] 还剩 [%s]%%的血"%(self.name,p2.name,p2.name,p2.pd))
class weapon:
    def __init__(self,name,wea_pd):
        self.name = name
        self.wea_pd = wea_pd
    def attack(self,p1,p2):
        p2.pd = p2.pd - p1.ad - self.wea_pd
        if p2.pd <= 0:
            print("[%s] 被 [%s] 用 [%s] 杀死"%(p2.name,p1.name,self.name))
        else:
            print("[%s] 利用 <%s> 攻击了 [%s],[%s] 还剩 [%s]%%的血"%(p1.name,self.name,p2.name,p2.name,p2.pd))

#创建人物
liubei = Sanguo("刘备",2,100)
caocao = Sanguo("曹操",5,100)

#创建武器
bishou = weapon("匕首",1)

#让刘备拿到武器
liubei.equi_weapon(bishou)

#刘备刺杀曹操,曹操正在睡觉
liubei.wea.attack(liubei,caocao)
# [刘备] 利用 <匕首> 攻击了 [曹操],[曹操] 还剩 [97]%的血

#刘备刀掉了
liubei.tushou_biwu(caocao)
liubei.tushou_biwu(caocao)
# [刘备] 徒手攻击了 [曹操],[曹操] 还剩 [95]%的血
# [刘备] 徒手攻击了 [曹操],[曹操] 还剩 [93]%的血

#曹操反击刘备
caocao.tushou_biwu(liubei)
#[曹操] 徒手攻击了 [刘备],[刘备] 还剩 [95]%的血

 

posted @ 2016-05-13 14:57  科学小怪癖  阅读(107)  评论(0)    收藏  举报