COMPARTE ESTE ARTÍCULO

Nombre:
DNI:


Ejercicio único (10 puntos)

En un videojuego de fantasía medieval, existen criaturas mágicas que habitan en distintas regiones del mapa. Los jugadores pueden invocarlas y hacer que se desplacen o realicen acciones. Desarrolla el siguiente sistema de clases, herencias y funciones globales en C#:


Parte A – Clases y comportamiento (5 puntos)

  1. Crea una clase Region con los atributos:
    • XMax, YMax → dimensiones máximas de la región.
  2. Crea la clase base CriaturaMagica:
    • Campos: x, y, energia, region.
    • Constructor que coloca la criatura en una posición aleatoria dentro de los límites de la región, con energía inicial de 100.
    • Método Mover() que modifica su posición aleatoriamente entre -2 y 2 pasos sin salirse del mapa y reduce la energía en 1.
    • Método virtual Accion() que devuelve cadena vacía "".
  3. Crea una subclase Hada:
    • Su método Accion() devuelve aleatoriamente una de estas frases:
      • "✨ Polvo de estrella"
      • "🌿 Bendición natural"
      • "🌈 Ilusión brillante"
      • Solo si su energía > 0.
  4. Crea una subclase Espectro que contiene una lista de cadenas (maldiciones):
    • "Oscuridad", "Frío eterno", "Silencio"
    • Su método Accion() elimina aleatoriamente una maldición y la devuelve como string. Si la lista está vacía, devuelve "".

Parte B – Métodos auxiliares (3 puntos)

  1. Crea un método ReducirEnergia(List<CriaturaMagica> lista, int x0, int y0, int d) que reduzca 15 puntos de energía a las criaturas cuya posición esté a distancia Manhattan ≤ d de (x0, y0).
    Elimina las criaturas cuya energía ≤ 0.
  2. Crea un método MensajesEspectros(CriaturaMagica[] array) que recorra el array y retorne una cadena concatenando los resultados de Accion() de todos los objetos de tipo Espectro.

Parte C – Selección (2 puntos)

  1. Implementa un método TopNCriaturasConMasEnergia(CriaturaMagica[] array, int n) que devuelva las n criaturas con mayor energía, ordenadas de mayor a menor.

✅ Solución en C#



¿QUÉ TE HA PARECIDO EL ARTÍCULO? Danos tu opinión al final de la página.
Deja tu comentario y ayúdanos a crecer.


¡SÍGUENOS EN TUS REDES FAVORITAS!
AYUDANOS A CRECER Y QUE LLEGUEMOS A TODAS LAS PERSONAS QUE NOS NECESITANA. SÍGUENOS EN TUS REDES.
Entra AQUÍ y elíge donde seguirnos. 

 

 


NUESTRAS ÚLTIMAS PUBLICACIONES

INSTAGRAM

TIKTOK


 …Y PRONTO MUCHAS MÁS

AYUDANOS A CRECER Y A LLEGAR A TODAS LAS PERSONAS QUE NOS NECESITAN.

Contenido restringido

Acceso de usuarios existentes
   
Registro de un nuevo usuario
*Campo necesario

Categories:

Tags:

Comments are closed

Estado de acceso
ESTADO DE ACCESO
TRADUCTORES
COMPARTENOS
Insert math as
Block
Inline
Additional settings
Formula color
Text color
#333333
Type math using LaTeX
Preview
\({}\)
Nothing to preview
Insert
error: CONTENIDO PROTEGIDO