• Предмет: Информатика
  • Автор: tkaci272
  • Вопрос задан 6 месяцев назад

Используя цикл while
вызывать у персонажей по очереди
метод attack пока кто-то победит

class Player:
def __init__(self, name, hp, damage, defense):
self.name = name
self.hp = hp
self.damage = damage
self.defense = defense

def info(self):
print(f"{self.name} ({self.hp})")
print(f"dam/def: {self.damage}/{self.defense}")
print("=" * 20)

def attack(self, enemy):
print(f"attack: {self.name} -> {enemy.name}")
print(f"{self.name}: damage {self.damage}")
enemy.hp = enemy.hp - self.damage
print(f"{enemy.name}({enemy.hp})")
print("*" * 20)


batman = Player("Batman", 50, 5, 20)
batman.info()
joker = Player("Joker", 40, 7, 10)
joker.info()
batman.attack(joker)

print(joker.hp)


tkaci272: Помогите пж
tkaci272: Это питон

Ответы

Ответ дал: madlight
2

Ответ:

здесь всё очень легко.

playerindex = 0

players = [batman, joker]

while True:

players[playerindex].attack(players[playerindex+1])

if players[playerindex+1].hp == 0:

break

if playerindex == 1:

playerindex = 0

else:

playerindex=1


tsunderhey: помогите пожалуйста с моим вопросом!!
tkaci272: А это дописать дальше?
tkaci272: Куда писать ?
Оно мне ошибку выдает
Вас заинтересует