Skip to content

Instantly share code, notes, and snippets.

@PalumboN
Last active October 15, 2019 21:44
Show Gist options
  • Save PalumboN/036c4bb65567ba7287d365b54bb60702 to your computer and use it in GitHub Desktop.
Save PalumboN/036c4bb65567ba7287d365b54bb60702 to your computer and use it in GitHub Desktop.
Ejercicio de herencia vs composición

Hechiceros

Primera parte

Queremos armar un programa donte tenemos hechiceros. De todos ellos se conoce su energía mágica y se comportan de formas diversas dependiendo de si son aprendices de brujo, archimagos o hechiceros supremos.

De un hechicero queremos:

  • Saber cuál es la energía mágica máxima.
    • En el caso de los aprendices es 50.
    • Para los archimagos es 100 + el doble de su nivel.
    • Para los hechiceros supremos es 500.
  • Saber si puede usar cierto hechizo
    • Esto se cumple cuando tienen suficiente energía mágica disponible y aparte:
      • Los aprendices de brujo sólo pueden usar hechizos que requieren menos de 40 de energía mágica.
      • Los archimagos pueden usar cualquier hechizo que no esté prohibido.
    • Los hechiceros supremos pueden usar cualquier hechizo sin importar la cantidad de energía mágica que tengan disponible.

Segunda parte

Agregamos otro requerimiento, hacer que un hechicero efectivamente use un hechizo con otro hechicero:

  • Si el hechicero que usa el hechizo es aprendiz de brujo, esto le hace perder tanta energía mágica como requiera el hechizo. En caso de que quede con energía mágica por debajo del 10% de su máximo, su tutor (que es otro hechicero) usa un hechizo curativo para que el aprendiz recupere su energía mágica al máximo.
  • Si es archimago sólo pierde la mitad de energía mágica requerida para invocar el hechizo (aún así necesita tener disponible la que diga el hechizo para lanzarlo).
  • El hechicero supremo no pierde energía mágica.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment