fork download
  1. class Personagem:
  2. def __init__(self, nome, origem, poderes, conflitos_internos):
  3. self.nome = nome
  4. self.origem = origem
  5. self.poderes = poderes
  6. self.conflitos_internos = conflitos_internos
  7. self.aliados = []
  8. self.inimigos = []
  9.  
  10. def adicionar_aliado(self, aliado):
  11. self.aliados.append(aliado)
  12.  
  13. def adicionar_inimigo(self, inimigo):
  14. self.inimigos.append(inimigo)
  15.  
  16. def descrever(self):
  17. return (f"{self.nome}, de origem {self.origem}, "
  18. f"possui os poderes de {', '.join(self.poderes)} e "
  19. f"enfrenta conflitos como {', '.join(self.conflitos_internos)}.")
  20.  
  21.  
  22. class Antagonista(Personagem):
  23. def __init__(self, nome, origem, motivos):
  24. super().__init__(nome, origem, [], [])
  25. self.motivos = motivos
  26.  
  27. def descrever(self):
  28. return f"{self.nome} é o antagonista que busca {self.motivos}."
  29.  
  30.  
  31. class Historia:
  32. def __init__(self, titulo):
  33. self.titulo = titulo
  34. self.personagens = []
  35. self.eventos = []
  36. self.temas = []
  37.  
  38. def adicionar_personagem(self, personagem):
  39. self.personagens.append(personagem)
  40.  
  41. def adicionar_evento(self, evento):
  42. self.eventos.append(evento)
  43.  
  44. def adicionar_tema(self, tema):
  45. self.temas.append(tema)
  46.  
  47. def descrever(self):
  48. return (f"Título: {self.titulo}\n"
  49. f"Personagens: {[p.nome for p in self.personagens]}\n"
  50. f"Eventos: {', '.join(self.eventos)}\n"
  51. f"Temas: {', '.join(self.temas)}")
  52.  
  53.  
  54. # Exemplo de uso
  55. if __name__ == "__main__":
  56. protagonista = Personagem(
  57. nome="Elaria",
  58. origem="Reino dos Elfos",
  59. poderes=["comunicação com criaturas mágicas", "influência no crescimento das plantas"],
  60. conflitos_internos=["luta contra sua identidade", "dilemas morais"]
  61. )
  62.  
  63. mentor = Personagem(
  64. nome="Gandor",
  65. origem="Terra dos Sábios",
  66. poderes=["sabedoria antiga"],
  67. conflitos_internos=[]
  68. )
  69.  
  70. antagonista = Antagonista(
  71. nome="Malakar",
  72. origem="Reino Sombrio",
  73. motivos="destruir a linhagem de Elaria"
  74. )
  75.  
  76. historia = Historia(titulo="A Herança das Fadas")
  77. historia.adicionar_personagem(protagonista)
  78. historia.adicionar_personagem(mentor)
  79. historia.adicionar_personagem(antagonista)
  80. historia.adicionar_evento("Elaria descobre sua verdadeira origem.")
  81. historia.adicionar_tema("A luta entre luz e escuridão")
  82.  
  83. print(historia.descrever())
  84.  
Success #stdin #stdout 0.02s 9308KB
stdin
Standard input is empty
stdout
Título: A Herança das Fadas
Personagens: ['Elaria', 'Gandor', 'Malakar']
Eventos: Elaria descobre sua verdadeira origem.
Temas: A luta entre luz e escuridão