Untitled

Anonymous
plain_text
04/24/2026 7:55 PM
2.6 KB
12
Indexable
from random import randint
from time import sleep
 
 
class Character():
    # class constructor
    def __init__(self, name, health, armor, power, weapon):
        self.name = name
        self.health = health      # number
        self.armor = armor        # number
        self.power = power        # number
        self.weapon = weapon      # string
 
    # print character info
    def print_info(self):
        print('-> ' + self.name)
        print('Health level:', self.health)
        print('Armor class:', self.armor)
        print('Power of the strike:', self.power)
        print('Weapon:', self.weapon, '\n')
 
    # striking another character
    def strike(self, enemy):
        attack = randint(self.power - 5, self.power + 5)
        print('-> STRIKE! ' + self.name + ' attacks ' + enemy.name +
              ' with power ' + str(attack) + ', using ' + self.weapon + '\n')
 
        enemy.armor -= attack
        if enemy.armor < 0:
            enemy.health += enemy.armor
            enemy.armor = 0
 
        print(enemy.name + ' is hit.')
        print('Armor:', enemy.armor, 'Health:', enemy.health, '\n')
 
    # starting a fight
    def fight(self, enemy):
        print('BATTLE STARTS:', self.name, 'vs', enemy.name, '\n')
        while self.health > 0 and enemy.health > 0:
            self.strike(enemy)
            if enemy.health <= 0:
                print(enemy.name, 'has fallen in this difficult battle!\n')
                break
            sleep(2)
 
            enemy.strike(self)
            if self.health <= 0:
                print(self.name, 'has fallen in this difficult battle!\n')
                break
            sleep(2)

knight = Character(
    name="Knight",
    health=120,
    armor=60,
    power=25,
    weapon="Sword"
)

bandit = Character(
    name="Bandit",
    health=80,
    armor=40,
    power=20,
    weapon="Dagger"
)
 

knight.print_info()

bandit.print_info()

knight.fight(bandit)
Editor is loading...
Leave a Comment