En esta entrada te presento un ejercicio completo de programación orientada a objetos en C#, ideal como simulacro de examen para estudiantes de programación de videojuegos. El objetivo es poner en práctica conceptos como herencia, encapsulamiento, estructuras de datos y uso de listas.
🧩 Enunciado del Ejercicio
En un videojuego ambientado en una ciudad futurista habitada por robots autónomos, diseña las siguientes clases y métodos siguiendo buenas prácticas de programación orientada a objetos:
- La ciudad se extiende desde la coordenada (0,0) hasta (XMax, YMax).
- Un
Robot
tiene una posición(x, y)
, una batería inicial de 100 unidades, y pertenece a una ciudad. Puede moverse aleatoriamente entre -2 y 2 unidades en cada eje, sin salirse del mapa y gastando 1 unidad de batería por movimiento. Tiene un método virtualActuar()
. - Un
RobotVigilante
sobrescribe el métodoActuar()
para devolver aleatoriamente uno de estos mensajes:- “¡Intruso detectado!”
- “Todo en orden”
- “Escaneando…”
(Solo si tiene batería positiva).
- Un
RobotRecolector
mantiene una lista de objetosRecurso
. Tiene un métodoRecolectar()
(simulado) y sobrescribeActuar()
para eliminar y devolver aleatoriamente un recurso. Si no hay recursos, devuelve cadena vacía. - Implementa el método
DescargarEnergia(List<Robot> robots, int x0, int y0, int n)
para reducir batería a los robots cercanos a una posición. Si un robot queda sin batería, se elimina de la lista. - Implementa
MensajesRecolectores(Robot[] robots)
para concatenar los resultados deActuar()
de todos los recolectores. - Implementa
NRobotsMasCargados(int n, Robot[] robots)
para devolver losn
robots con más batería. - Implementa
FiltrarVigilantes(List<Robot> robots)
de forma recursiva para obtener los vigilantes de una lista mixta. - Crea una pila de robots usando nodos encadenados (
PilaNodosRobots
) con métodosPush(Robot r)
,Pop()
yCount
.
💻 Código C# Completo
Aquí tienes la implementación completa del ejercicio en C#:

🛠️ ¿Qué Aprendemos con Este Ejercicio?
- Cómo modelar entidades de un videojuego usando clases.
- Uso de herencia para personalizar comportamiento (
Actuar()
). - Control de posiciones dentro de un mapa.
- Listas genéricas, acceso aleatorio y eliminación.
- Recursividad con listas.
- Implementación de una estructura tipo pila enlazada.
📚 Recomendación para Estudiantes
Este simulacro es ideal para preparar evaluaciones de Programación Orientada a Objetos o Lógica de Videojuegos. Puedes practicar:
- Extender las clases con más funcionalidades (e.g., ataques, energía renovable).
- Simular interacciones entre robots.
- Usar una interfaz gráfica sencilla con WinForms o Unity.
🧑🏫 ¿Eres Profesor?
Puedes usar este ejercicio como base para exámenes o prácticas. Está diseñado para evaluar conocimientos de:
- Diseño orientado a objetos.
- Recursividad.
- Estructuras de datos.
- Buenas prácticas de codificación en C#.
✍️ ¿Te gustaría más ejercicios como este?
Déjalo en los comentarios o contáctame directamente. También puedes suscribirte para recibir notificaciones de nuevas prácticas, tutoriales y simulacros de examen.
¿Quieres que este post incluya imágenes o fragmentos destacados con formato WordPress (código, bloques, etc.)?
¿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