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)
- Crea una clase
Region
con los atributos:XMax
,YMax
→ dimensiones máximas de la región.
- 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""
.
- Campos:
- 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.
- Su método
- 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)
- 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. - Crea un método
MensajesEspectros(CriaturaMagica[] array)
que recorra el array y retorne una cadena concatenando los resultados deAccion()
de todos los objetos de tipoEspectro
.
Parte C – Selección (2 puntos)
- Implementa un método
TopNCriaturasConMasEnergia(CriaturaMagica[] array, int n)
que devuelva lasn
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
- Proyectos que puedes empezar para aprender a programar (Academia San Roque)
- 15 ejercicios básicos en R (con soluciones)
- 📘 5 Ejercicios Sencillos de Programación en R (con soluciones)
- Guía para Aprender a Estudiar Programación con las 10 Claves de la Autodisciplina
- Serializar una lista de personas (nombre, apellido, DNI) en Java y guardarla en un archivo binario
- Simulacro de Examen — Fundamentos de Programación (Laboratorio)
- Reflexiones en Academia SanRoque: La importancia de la motivación, el esfuerzo y el aprendizaje en la educación y la formación
- CHECK Constraint en Oracle SQL: garantiza la calidad de tus datos paso a paso
- Simulacro #4 – Examen de C++ / Estructuras de Datos
ELIGE TU RED FAVORITA Y SÍGUENOS.
AYUDANOS A CRECER Y A LLEGAR A TODAS LAS PERSONAS QUE NOS NECESITAN.
Contenido restringido
Comments are closed