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