模拟英雄联盟写一个游戏人物的类
要求:
1.创建一个Game_role的类
2.构造方法中给对象封装name,ad(攻击力),hp(血量),三个属性
3.创建一个attack方法,此方法是实例化两个对象,互相攻击的功能:
例:
实例化-一个对象盖伦, ad为10, hp为 100
实例化另个一个对象剑豪ad为20, hp为80
盖伦通过attack方法攻击剑豪,此方法要完成’ 谁攻击谁,谁掉了多少血,还剩多 少血’的提示功能.
class GameRole:
def __init__(self, name, ad, hp):
# 给对象封装3个属性
# :param name:
# :param ad:
# :param hp:
= name
self.ad = ad
self.hp = hp
def attack(self, p):
p.hp = p.hp - self.ad # 被打一下,自己的血就会被减少
print("%s 攻击 %s,%s 掉了%s血,还剩%s血" % (, , , self.ad, p.hp))
p1 = GameRole("盖伦", 20, 500)
p2 = GameRole("亚索", 50, 200)
# 此时的self是盖伦的,但是要用到p2,需要把p2的对象空间传进去,参数p得到的就是p2的对象空间,这个对象空间,通过万能的点,什么都能获取到
p1.attack(p2)
print(p2.hp)
# 结果:
# 盖伦 攻击 亚索,