Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programación I G-202
PROYECTO SEMESTRAL
Problema
En el laboratorio “Robots Rotos” se están creando dos tipos de robots: los blancos y los negros, los cuales
han sido programados para destruirse entre sí. Cada robot puede desplazarse en cuatro direcciones
(horizontal o vertical):
y lanzar una onda de calor que destruye a todo robot adversario (de un color diferente) que se encuentre en
un radio de 4 metros.
Cree un programa que permita simular el combate de cuatro robots, dos blancos y dos negros, en un espacio
rectangular. El programa debe solicitar al usuario como entrada las dimensiones del espacio (ancho, alto), la
posición inicial de cada robot (coordenadas x,y) y cuatro cadenas, cada una indicando el movimiento de un
robot. A partir de dicha información debe calcular y mostrar en pantalla periódicamente la posición de cada
uno de los robots no destruidos. La simulación debe terminar cuando todos los robots terminen su movimiento
o cuando sólo queden robots de un color (sin importar si han terminado su movimiento).
Asuma que la posición superior izquierda del espacio corresponde a la coordenada (0,0):
(0,0) ancho
x
alto
El movimiento de cada robot se programa mediante una cadena compuesta de letras. Cada letra indica la
acción que realiza el robot, así:
LUUUSDD
Indica que el robot debe moverse un metro a la izquierda, tres metros hacia arriba, disparar una honda de
calor y después moverse dos metros hacia la derecha.
El programa debe verificar que ningún robot exceda los límites del espacio rectangular en donde se encuentran.
Un robot se auto-destruye si intenta traspasar dichos límites.
Si dos robots se tocan, se destruyen sin importar si son del mismo color o no.
A tener en cuenta:
Construcción
El programa DEBE hacer uso del código fuente suministrado en el archivo robotAlg.zip. Su tarea es escribir el
cuerpo de las funciones. NO está permitido modificar los nombres o los parámetros de las funciones, ni agregar
variables globales. Tampoco está permitido realizar cambios a la función principal (main).
Entrega:
- Se debe entregar
- Código fuente de las funciones:
o solicitarPosicion
o solicitarCadenaMovimiento
o solicitarDimensiones
o iniciarSimulacion
o terminar
Entrega:
- Semana 14 de clases
- Programa final (código fuente y ejecutable)
Evaluación