БУДЬЛАСКА ДОПОМОЖІТЬ
ПАЙТОН
2 гравці заходять в гру і обирають персонажів. Персонажи діляться на 4 факультети: Ґрифіндор, Рейвенклов, Гафелпаф та Слизерин. Кількість персонажів на одному факультеті залежить від розробника. Пропонується механіка, де для кожного персонажа є клас. Класси мають свої характеристики. Росподіл характеристик довільний та задається користувачем. Після вибору класа, гравцям рандомно випадають магічні закляття. Кожне має свої плюси і мінуси. Розробник сам має продумати механіку. Після рандомно обирається хто перший ходить. Гра буде завршеною, коли хтось один опустить шкалу життя до 0 у противника.
Ответы
Ответ:
import random
class Character:
def __init__(self, name, faculty, health, attack, defense):
self.name = name
self.faculty = faculty
self.health = health
self.attack = attack
self.defense = defense
def display_info(self):
print(f"Name: {self.name}")
print(f"Faculty: {self.faculty}")
print(f"Health: {self.health}")
print(f"Attack: {self.attack}")
print(f"Defense: {self.defense}")
class Spell:
def __init__(self, name, damage, mana_cost, effect):
self.name = name
self.damage = damage
self.mana_cost = mana_cost
self.effect = effect
def display_info(self):
print(f"Name: {self.name}")
print(f"Damage: {self.damage}")
print(f"Mana Cost: {self.mana_cost}")
print(f"Effect: {self.effect}")
def random_spell(player):
spells = [
Spell("Fireball", 50, 10, "burns the enemy"),
Spell("Ice blast", 40, 8, "freezes the enemy"),
Spell("Thunderbolt", 60, 12, "stuns the enemy"),
Spell("Healing", -30, 5, "heals the player"),
Spell("Shield", 0, 7, "protects the player")
]
spell = random.choice(spells)
print(f"{player.name} casts {spell.name}")
return spell
def game_round(player1, player2):
spell1 = random_spell(player1)
spell2 = random_spell(player2)
damage1 = spell1.damage * player1.attack / player2.defense
damage2 = spell2.damage * player2.attack / player1.defense
player1.health -= damage2
player2.health -= damage1
print(f"{player2.name} takes {damage1} damage")
print(f"{player1.name} takes {damage2} damage")
print(f"{player1.name} has {player1.health} health")
print(f"{player2.name} has {player2.health} health")
print()
characters = [
Character("Harry Potter", "Gryffindor", 100, 8, 4),
Character("Hermione Granger", "Gryffindor", 110, 7, 5),
Character("Draco Malfoy", "Slytherin", 90, 9, 3),
Character("Luna Lovegood", "Ravenclaw", 95, 6, 6),
Character("Cedric Diggory", "Hufflepuff", 105, 5, 7)
]
print("Ласкаво просимо до Wizarding World!")
print("Виберіть своїх персонажів:")
print()
for i, character in enumerate(characters):
print(f"{i + 1}: {character.name} ({character.faculty})")
Объяснение: