python----编写游戏人物

# 练习 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="犇犇"
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值