模拟游戏人物类
模擬王者榮耀寫一個游戲人物的類.
要求:
例: 實例化一個對象 李白,ad為30, hp為100
實例化另個一個對象 王昭君 ad為20, hp為150
李白通過attack方法攻擊王昭君,此方法要完成 '誰攻擊誰,誰掉了多少血, 還剩多少血’的提示功能.
對上面進行升級,人物使用武器進行攻擊
class Game_role:def __init__(self, name, ad, hp):self.name = nameself.ad = adself.hp = hpdef attack(self, obj_role):obj_role.hp -= self.adprint(f'{self.name}攻擊了{obj_role.name},{obj_role.name}掉了{self.ad}點血,{obj_role.name}還剩{obj_role.hp}點血')def equipment_weapon(self, weap, role_obj):# 給人物對象封裝武器的屬性(封裝是另一類的對象,這樣這個對象有許多方法和屬性)self.weapon = weapself.weapon.weapon_attack(self, role_obj) # 這里傳的self是libai_hero這個對象的空間地址class Weapons:def __init__(self, name, ad):self.name = nameself.ad = addef weapon_attack(self, role1, role2):print(f'{role1.name}用{self.name}攻擊了{role2.name},{role2.name}掉了{self.ad}點血')libai_hero = Game_role('李白', 30, 100) zhaojun_hero = Game_role('王昭君', 20, 150)sword = Weapons('劍', 50) wand = Weapons('法杖', 40) libai_hero.equipment_weapon(sword, zhaojun_hero)# 或者這樣 libai_hero.weapon.weapon_attack(libai_hero, zhaojun_hero)總結
- 上一篇: socksCap32+socks2htt
- 下一篇: 什么是EJB?EJB详解