python对象的三个属性_python对象的属性引用另一个类的

class GameRole:

def __init__(self, name, ad, hp):

self.name = name

self.ad = ad

self.hp = hp

def attack(self, p):

p.hp = p.hp - self.ad

if p.hp > 0:

print("%s攻击%s,%s掉了%s点血,还剩%s点血"

% (self.name, p.name, p.name, self.ad, p.hp))

else:

print(p.name + "死亡")

def arm_weapon(self, wea):

self.wea = wea

class Weapon:

def __init__(self, name, ad):

self.name = name

self.ad = ad

def fight(self, p1, p2):

p2.hp = p2.hp - self.ad

if p2.hp > 0 and p1.hp > 0:

print("%s用%s打了%s,%s掉了%s点血,还剩下%s点血"

% (p1.name, self.name, p2.name, p2.name, self.ad, p2.hp))

else:

p2.hp = 0

# print(p2.name + "死亡,游戏结束")

p1 = GameRole("盖伦", 20, 500)

p2 = GameRole("亚索", 50, 400)

axe = Weapon("斧头", 60)

sward = Weapon("屠龙宝刀", 100)

p1.arm_weapon(axe)

p2.arm_weapon(sward)

count = 0

while 1: # 你们开始打吧,哈哈,管我毛事

print("第%s回合" % (count + 1))

if p1.hp > 0:

p1.wea.fight(p1, p2)

if p2.hp > 0:

p2.wea.fight(p2, p1)

if p1.hp <= 0:

print("%s用%s把%s打死了,%s获胜,游戏结束,让我们恭喜%s!"

% (p2.name, p2.wea.name, p1.name, p2.name, p2.name))

break

if p2.hp <= 0:

print("%s用%s把%s打死了,%s获胜,游戏结束,让我们恭喜%s!"

% (p1.name, p1.wea.name, p2.name, p1.name, p1.name))

break

count += 1

原文地址:https://www.cnblogs.com/M-learning/p/11742415.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值