Вы находитесь на странице: 1из 3

Fundamentos de Programacin Proyecto Parcial IT 2012-2013

Proyecto: Hundir la Flota


Objetivos
Poner en Prctica los conocimientos adquiridos en clases relacionados a: sentencias de control, nmeros aleatorios, constantes, validaciones, funciones y arreglos. Evaluar la iniciativa para la resolucin de problemas. Dominar el uso bsico de la herramienta de desarrollo. Evaluar la documentacin interna del cdigo.

Evaluacin del Proyecto


El proyecto ser evaluado considerando los siguientes aspectos: Documentacin del cdigo: No se evaluar la cantidad de los comentarios sino la calidad y el formato de los mismos. Cualquier consideracin adicional a lo establecido como parte del proyecto deber estar adecuadamente documentado en el cdigo. Correcto uso de indentacin: Se debe de observar un correcto uso de la indentacin dentro del programa. Estructuracin del cdigo: Adecuado uso de las instrucciones de control, arreglos, validaciones y constantes. Nombres de variables, funciones y procedimientos adecuados; as como validaciones oportunas, indentacin del cdigo para facilitar la lectura, declaracin de variables locales al inicio del programa o al inicio de las funciones (segn corresponda), entre otros aspectos indicados durante las clases. Aplicacin del paradigma Dividir y Conquistar: Esto evala una adecuada declaracin, implementacin y uso de funciones y procedimientos. Completitud. El programa deber estar totalmente terminado para ser evaluado. Entrega a tiempo. El cdigo fuente del programa deber ser entregado en un archivo .ZIP a travs de SIDWEB hasta la fecha y hora mxima de entrega.

Valor Agregado
El valor agregado corresponde a todo aquello que no es solicitado pero de alguna manera contribuye a una mejor implementacin del proyecto. Por ejemplo, es considerado como valor agregado una agradable presentacin del proyecto, consideren que no es necesario disponer de grficos para que la presentacin por pantalla sea agradable. Recuerden que esto es posible a travs del uso de secuencias de escape y un adecuado formato de salida. Sean creativos en el desarrollo de su proyecto.

Descripcin del Juego


Resumen El jugador se enfrenta a la computadora en la clsica batalla naval. Al inicio de la partida, ambos jugadores deben de ubicar sus navos en una cuadricula que representa al ocano. El juego, a base de turnos, se desencadena de manera que comandante dispara hacia la flota del enemigo para tratar de hundir todos los barcos de su rival. El ganador ser el que logre este objetivo primero. El Inicio del Juego 1) El jugador debe de escoger la dificultad del juego. Las 3 opciones de que disponen varan en la dimensin del tablero de juego (Fcil 9x9, Medio 12x12, Difcil 15x15). 2) En cada caso el jugador debe de colocar cada uno de los siguientes barcos: a) Barril. Ocupa una sola posicin. Disponible en todas las dificultades. b) Barco del Capitn Morgan. Ocupa 2 posiciones. Disponible en todas las dificultades. c) Submarino Espa. Ocupa 3 posiciones. Disponible en todas las dificultades. d) Barco de Guerra. Ocupa 4 posiciones. Disponible en todas las dificultades. e) Submarino Nuclear. Ocupa 5 posiciones. Disponible desde dificultad media. f) Super Titanic. Ocupa 6 posiciones. Disponible solo en modo difcil. 3) La ubicacin de un barco ir dada por su orientacin (horizontal o vertical) y una posicin (x,y) donde va la proa (parte delantera) del barco. Los jugadores deben de ingresar esta informacin de manera meticulosa, puesto que una mala ubicacin podra causar que el barco se encuentre fuera de lmites o colisione con otro miembro de la flota. En estos casos, la computadora deber de indicar al comandante de su error y permitir que vuelva a ingresar una ubicacin para el navo. 4) Por su parte, el oponente (computador), deber de escoger la ubicacin de sus barcos de manera aleatoria, siempre y cuando se cumplan las reglas referentes a ubicaciones no vlidas. Comienza la Destruccin 5) Los jugadores se toman turnos para disparar hacia los barcos enemigos. Cada jugador debe de indicar una coordenada (x,y) donde supone que se encuentra un barco enemigo. a) El jugador (usuario) ingresar estos datos por teclado. b) El oponente (computadora) calcular una posicin de manera aleatoria. 6) Los barcos son frgiles. Una sola bala resulta fatal para cualquiera de los navos y lo destruye. Comandantes expertos notarn que en esto, nuestro conjunto de reglas difiere de las comnmente indicadas. 7) Adicionalmente, el nmero de disparos disponibles por turno es igual a la cantidad de barcos en mi flota en dicho momento. Final del Juego Al finalizar el juego se debe de mostrar: El estado final del juego (ganado o perdido).

El puntaje alcanzado en caso de haber ganado. Dicho puntaje viene dado por la cantidad de disparos que se tuvo que realizar antes de ganar. Estadsticas de la partida: Porcentaje de disparos acertados, grfica de disparos acertados por turno. Los crditos del programa. La opcin de comenzar un juego nuevo.

Presentacin Debern tomar las siguientes consideraciones para la presentacin del juego. En cada turno, el jugador debe de observar: Solo la posicin de sus barcos. Los de la computadora nos son invisibles. Las posiciones deben de ser dibujadas por pantalla sobre una matriz. El estado de sus barcos. Cules han sido derribados? Marcas especiales sobre la matriz deben de ayudar en la identificacin del estado. El estado de los barcos de su rival. Esta informacin es textual. Cules barcos le quedan an a la computadora? Tambin se necesita saber hacia que lugares hemos realizado disparos, esto evita que repitamos disparos de manera innecesaria. La presentacin como tal deber entonces de tener vista de 2 matrices. Una propia y otra del contrincante (que no muestra barcos, solo lugares donde se ha disparado). Habindosele presentado el estado de la partida, el jugador decide a que posiciones lanzar sus misiles. Solo se conocer el resultado de los disparos una vez que todos hayan sido lanzados.