Предмет: Информатика, автор: Аноним

БУДЬЛАСКА ДОПОМОЖІТЬ
ПАЙТОН


2 гравці заходять в гру і обирають персонажів. Персонажи діляться на 4 факультети: Ґрифіндор, Рейвенклов, Гафелпаф та Слизерин. Кількість персонажів на одному факультеті залежить від розробника. Пропонується механіка, де для кожного персонажа є клас. Класси мають свої характеристики. Росподіл характеристик довільний та задається користувачем. Після вибору класа, гравцям рандомно випадають магічні закляття. Кожне має свої плюси і мінуси. Розробник сам має продумати механіку. Після рандомно обирається хто перший ходить. Гра буде завршеною, коли хтось один опустить шкалу життя до 0 у противника. ​

Ответы

Автор ответа: vladhome57
1

Ответ:

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})")

Объяснение:

Похожие вопросы
Предмет: Математика, автор: almaskhan1986azh