模拟英雄联盟写一个游戏人物的类
要求:
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:
self.name = name
self.ad = ad
self.hp = hp
def attack(self, p):
p.hp = p.hp - self.ad # 被打一下,自己的血就会被减少
print("%s *** %s,%s 掉了%s血,还剩%s血" % (self.name, p.name, p.name, self.ad, p.hp))
p1 = GameRole("盖伦", 20, 500)
p2 = GameRole("亚索", 50, 200)
# 此时的self是盖伦的,但是要用到p2,需要把p2的对象空间传进去,参数p得到的就是p2的对象空间,这个对象空间,通过万能的点,什么都能获取到
p1.attack(p2)
print(p2.hp)
# 结果:
# 盖伦 *** 亚索,