def alt__attack(self): damage = 80 + 80 * (self.dexterity / 100) self.mana = self.mana - 50 typing( "Герой отвечает на удары противников, нанося чистый урон всем врагам вокруг себя. Наносит: " + str(damage) + " урона") return damage
def hard__attack(self): damage = 50 + 50 * (self.dexterity / 100) self.mana = self.mana - 30 typing( "Приводит врага в бешенство, замедляя его и нанося ему урон. Наносит: " + str(damage) + " урона") return damage
def make_a_turn(self, player): typing("Введите число [1,2,3]: ") attack = int(input()) if (attack == 1): return int(player.simple__attack()) elif (attack == 2): return int(player.hard__attack()) elif (attack == 3): return int(player.alt__attack()) else: typing("Промазал") return 0
def choice__character(self): typing("1. Маг-волшебник ") typing("2. Воин-варвар ") typing("3. Охотник-следопыт ") typing(" \n Введите число [1,2,3]: ") player_class = int(input()) if (player_class == 1): return Mage() elif (player_class == 2): return Warrior() elif (player_class == 3): return Hunter() else: typing("Что-то пошло не так(\nПопробуйте снова") return self.choice__character()
def battle(self): round_counter = 1 while (True): typing("Раунд " + str(round_counter)) typing("Ходит игрок 1") damage = self.make_a_turn(self.player1) self.player2.health = self.player2.health - int(damage) typing("HP player2 " + str(self.player2.health)) typing("\nХодит игрок 2") damage = self.make_a_turn(self.player2) self.player1.health = self.player1.health - int(damage) typing("HP player2 " + str(self.player1.health)) if (self.player2.health <= 0): return "player1 win" elif (self.player1.health <= 0): return "player2 win" round_counter += 1
def menu(self): typing("Перед началом поединка, выберите персонажа!") typing("Игрок №1 ") self.player1 = self.choice__character() typing("Игрок №2 ") self.player2 = self.choice__character()
def alt__attack(self): damage = 30 + 30*(self.dexterity / 100) self.mana = self.mana - 20 typing("Охотник направляет ветер в сторону врага, чтобы увеличить скорость атаки. Наносит: " + str(damage) +" урона") return damage
def hard__attack(self): damage = 100 + 100*(self.dexterity / 100) self.mana = self.mana - 70 typing("Охотник заряжает свой лук несколько секунд и делает одиночный выстрел. Наносит: " + str(damage) +" урона") return damage
def simple__attack(self): damage = random.randrange(24,36) typing("Воин наносит сокрушительный удар топором и наносит: " + str(damage) + "урона") return damage