Untitled

Anonymous
python
02/13/2026 5:58 PM
1.9 KB
25
Indexable
from random import randint
from time import sleep


class Hero():
   def __init__(self, name, health, armor, power, weapon):
       self.name = name
       self.health = health
       self.armor = armor 
       self.power = power 
       self.weapon = weapon 
   
   #printing character info:
   def print_info(self):
       print('Greet the hero ->', self.name )
       print('Health level:', self.health)
       print('Armor class:', self.armor)
       print('Impact force:', self.power)
       print('Weapon:', self.weapon, '\n')
   
   #striking:
   def strike(self, enemy):
       print('-> STRIKE! ')
       print(self.name , 'attacks', enemy.name , 'using', self.weapon, '\n')
       enemy.armor -= self.power
       if enemy.armor < 0:
           enemy.health += enemy.armor
           enemy.armor = 0
       print(enemy.name , 'swayed.')
       print('Armor class dropped to', enemy.armor)
       print('Health level decreased to', enemy.health, '\n')
 
knight = Hero ('Richard', 50, 25, 20, 'sword')
rascal = Hero('Helen', 100, 10, 15, 'bow')


knight.print_info()
rascal.print_info()


print('Let the battle begin!')


play = True
while play:
    if randint(0,1) == 1:
        fighters = [knight, rascal]
    else:
        fighters = [rascal, knight] 
    fighters[0].strike(fighters[1])
    if fighters[1].health <= 0:
        play = False
        print(fighters[1].name, 'fell in a harsh battle.')
    sleep(1)
Editor is loading...
Leave a Comment