Sei sulla pagina 1di 4

UNIVERSIDAD DE SANTIAGO DE CHILE FACULTADA DE INGENIERA DEPARTAMENTO DE INGENIERA INFORMTICA

Laboratorio 1
Lenguajes y paradigmas de programacin
El objetivo del presente laboratorio es evaluar: 1. Su capacidad para llevar a cabo un programa de pequea escala en el lenguaje de programacin C. 2. Generar tipos de datos consistentes y comprender los estilos de implementacin disponibles en C.

Enunciado: La zanahoria trotadora


Usted es una zanahoria que vive libremente en el campo, hasta que en un momento llegan al lugar varios conejos hambrientos y usted debe escapar. El juego inicia con usted ubicado en el centro del campo, y en lugares aleatorios diferentes los conejos. Usted debe escapar, pero por cada movimiento que usted realiza, los conejos tambin realizan, cada uno, un movimiento que los acerca a su cena. Si alguno lo alcanza, ser devorado. Si en el intento de alcanzarlo dos o ms conejos chocan, estos fallecen, dejando el cadver de ambos en la posicin en la que chocaron. Si los conejos chocan con algn cadver, se convierte en cadver tambin. Su misin es escapar de ser devorado y eliminar a los conejos que le persiguen (haciendo que choquen), de esta forma podr pasar a la siguiente etapa, en donde se aparecern los conejos de la etapa anterior ms el 25 % de los conejos iniciales (aproximar al entero superior cuando el decimal sea 5) ubicados aleatoriamente. Cuando se vea acorralado por los conejos, tiene la posibilidad de teletransportarse, presionando una tecla, lo que llevar a la zanahoria a cualquier posicin disponible en el campo, pero cuidado, que una vez que se ha teletransportado, es turno de moverse a los conejos, por lo que existe la posibilidad de que de todas formas sea devorado. El campo en que se encuentra es especial, porque existen trampolines, permitiendo a los conejos avanzar en dos espacios. La cantidad de trampolines van a ir aumentando, conforme a las etapas es de un 20 %, partiendo desde la tercera ronda con 2 trampolines, ubicados aleatoriamente.

Caractersticas de la solucin
1. El usuario debe seleccionar el tamao de la matriz que representa al campo. 2. El usuario selecciona la cantidad de conejos a utilizar inicialmente.

UNIVERSIDAD DE SANTIAGO DE CHILE FACULTADA DE INGENIERA DEPARTAMENTO DE INGENIERA INFORMTICA

3. La zanahoria puede moverse en cualquier direccin (a cualquiera de los 8 vecinos) siempre y cuando: a) Exista campo disponible. b) No exista un conejo en la posicin. c) No se encuentre a merced de un conejo(el suicidio zanahorstico no es una opcin)(Si avanza no vaya a ser comido por un conejo). d ) Se debe mantener el puntaje de los mejores 10 jugadores (uso de archivos) e) Un jugador gana puntos por: Se ha movido una posicin sin ser atrapado (5 puntos por movimiento). Han chocado conejos(50 puntos por conejo). Ha pasado de etapa (100 puntos) 4. El usuario debe poder moverse con 9 teclas: 1 n Inferior izquierda. 2 m Abajo. 3 , Inferior derecha. 4 h Izquierda. 5 j Mantenerse en la posicin. 6 k Derecha. 7 y Superior izquierda. 8 u Arriba. 9 i Superior derecha. 5. El usuario debe poder ingresar su nombre junto a su puntaje y conocer la posicin en que se encuentra. 6. Los carcteres de movimiento y acciones del juego son escritos en minsculas. 7. El programa debe tener la opcin de salir, presionando la tecla q. 8. Para poder teletransportarse, se utilizar la tecla t. 9. El usuario podr guardar su ltima partida en cualquier momento con la tecla s en un archivo de texto plano. 10. El usuario podr cargar la ltima partida guardada. Esto ser pedido al iniciar el juego. 11. La zanahoria corresponder al carcter z. 12. Los conejos correspondern al carcter &. 13. Los cadveres correspondern al carcter #.

UNIVERSIDAD DE SANTIAGO DE CHILE FACULTADA DE INGENIERA DEPARTAMENTO DE INGENIERA INFORMTICA

14. El trampoln ser indicado con el carcter <. 15. Los conejos, una vez posicionados en un espacio que contenga un trampoln, este ser utilizado en su siguiente movimiento. 16. Para indicar que un conejo se encuentra sobre un trampoln, corresponder al carcter ?. 17. Indicar en todo momento el puntaje, la etapa o nivel que va, conejos que quedan vivos.

Caractersticas tcnicas
1. El programa debe ser realizado en el lenguaje C estndar, utilizando la herramienta CodeBlocks. No se permite el uso de libreras no estndar. 2. Debe entregar su cdigo, se evaluar el orden, la separacin en funciones, la nemotecnia y el uso de comentarios. 3. Debe entregar un informe segn las reglas entregadas en el documento que indica cmo hacer un informe. 4. Debe hacer uso de matrices y vectores dinmicos. 5. Debe entregar un manual de usuario. 6. El laboratorio es individual.

Observaciones importantes
El informe que debe entregar, tiene que mostrar claramente las razones de las decisiones que usted tomo en el sistema, tanto de navegacin, interfaz de usuario, funcionalidades que usted presenta. Adems el informe debe mostrar las decisiones tomadas con respecto a la implementacin y uso del lenguaje. El manual de uso debe ser totalmente el a la versin entregada del sistema, el cual ser revisado siguiendo dicho manual, esto signica que si algo no est explicado en el manual de uso, no ser revisado en el sistema, cabe mencionar que de ninguna manera signica que no se intentar interactuar con el sistema de una manera diferente a lo mencionado en el manual, por ejemplo, si el manual indica ingresar slo nmeros, no signica que no se intentar ingresar letras. El sistema debe ser robusto, se penalizarn las cadas de cualquier tipo. Debe adems estar bien documentado, si as los desea puede presentar la documentacin creada con alguna herramienta como Doxygen (no es obligatorio). La copia de cualquier tipo (incluso de internet) ser evaluada con un 1.0. Se han dejado a propsito algunos temas a su criterio, la intencin es que usted sea autocrtico en su trabajo y se esfuerce en entregar el mejor sistema (incluidos documentos) posible, por lo que un sistema

UNIVERSIDAD DE SANTIAGO DE CHILE FACULTADA DE INGENIERA DEPARTAMENTO DE INGENIERA INFORMTICA

que slo cumpla con los criterios mnimos mencionados en este enunciado no aseguran un 7, recuerde, sea eciente, no slo ecaz. Fecha de entrega: 20 de abril de 2012.

Potrebbero piacerti anche