# 练习 3:编写游戏人物
# 需求:
# 创建游戏角色类 Role
# 游戏人物角色拥有名字(name)、武器(weapon)等属性
# 游戏人物具有攻击的方法
# 我是谁,我在用什么武器,疯狂揍谁(who)
# def attack(self, who):
# 武器(Wuqi)通过武器类实现: 名称(wname) 攻击力(power)
# 类与类:组合
class Wuqi:
def __init__(self, wname, power):
self.wname = wname # 武器名称
self.power = power # 攻击力
class Role:
def __init__(self, name, weapon):
self.name = name
self.weapon = weapon
def attack(self, who="犇犇"):
print("我是%s,我在用%s武器,疯狂揍%s,掉了%s血"%(
self.name, self.weapon.wname,
who, self.weapon.power))
w1 = Wuqi("丈八蛇矛", 98) # wname="丈八蛇矛" power = 98
print("w1:", w1) # Wuqi object at 0x7f9d00c66048
print(w1.wname, w1.power)
# 丈八蛇矛 98
r2 = Role("张飞", w1) # Wuqi object at 0x7f9d00c66048
# 此时 r2.weapon 指向了 w1对象,所以r2也能获取武器的属性
print("r2.weapon", r2.weapon)
print(r2.weapon.wname, r2.weapon.power)
r2.attack("张苞")
# 丈八蛇矛 98
# self.name = "张飞"
# self.weapon = w1 # 让weapon属性指向w1对象
# print(w1) # <Wuqi object at 0x7fb576941fd0>
# print(w1.wname, w1.power) # 丈八蛇矛 98
#
# r1 = Role("张飞", "丈八蛇矛") # name="张飞" weapon="丈八蛇矛"
# print(r1) # <Role object at 0x7fbf8481a7b8>
# r1.attack("张苞") # who = "张苞"
# r1.attack("夏侯渊") # who = "夏侯渊"
# r1.attack() # who="犇犇"
python----编写游戏人物
最新推荐文章于 2024-05-08 08:04:03 发布