A、B攻击
class 玩家:
def __init__(self,昵称,血量,伤害):
self.昵称 = 昵称
self.血量 = 血量
self.伤害 = 伤害
def 攻击(self,enemy):
enemy.血量 -= self.伤害
if enemy.血量>0: #挨打后血量大于0正常输出剩余血量
print('玩家「%s」攻击玩家家「%s」,造成「%d」伤害,对方血量剩余「%d」' % (self.昵称, enemy.昵称, self.伤害, enemy.血量))
else: #挨打后血量小于0,由于血量不能为负所以输出血量为0且被击败
print('玩家「%s」攻击玩家家「%s」,造成「%d」伤害,对方血量剩余「0」' % (self.昵称, enemy.昵称, self.伤害))
print('玩家「%s」被击败' % enemy.昵称)
player1 = 玩家(昵称="A",血量 =200,伤害 = 56)
player2 = 玩家(昵称="B",血量 =150,伤害 = 60)
player1.攻击(player2)
player1.攻击(player2)
player1.攻击(player2)
输出为
玩家「A」攻击玩家家「B」,造成「56」伤害,对方血量剩余「94」
玩家「A」攻击玩家家「B」,造成「56」伤害,对方血量剩余「38」
玩家「A」攻击玩家家「B」,造成「56」伤害,对方血量剩余「0」
玩家「B」被击败
这里注意__init__是两个下划线!!不然会提示
Python TypeError: …takes no arguments