FACULTAD DE INGENIERIA EN ELECTRICIDAD Y COMPUTACION
PROYECTO PARCIAL 2013-2T ING. RONALD CRIOLLO FECHA DE ENTREGA: 09-DIC-2013 HORA DE ENTREGA: 11:59 P.M. 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: o se evaluar la cantidad de los comentarios sino la calidad y el formato de los mismos. !ualquier consideracin adicional a lo establecido como parte del proyecto deber estar adecuadamente documentado en el cdigo. Estructuracin del cdigo: "decuado uso de las instrucciones de control, arreglos, validaciones y constantes. ombres 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 .'(P a trav)s de !"D#E$ hasta la fecha y hora m*ima de entrega.
%alor Agregado El valor agregado corresponde a todo aquello que no es solicitado pero de alguna manera contribuye a una me+or implementacin del proyecto.
Por e+emplo, 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. ,ecuerden que esto es posible a trav)s del uso de secuencias de escape y un adecuado formato de salida.
'''!ean creativos en el desarrollo de su proyecto(((
$atalla )aval v*+ El juego est basado en el clsico juego Batalla Naval o en ingls Battleship que combina conceptos matemticos y razonamiento lgico, con estrategia naval. En el juego gana el jugador que primero hunda la flota del contrincante.
CAMPO DEL USUARIO
CAMPO DE LA COMPUTADORA
A B C D E F G H I J
A B C D E F G H I J 1 2 2 3
2 3 4 4 4 4 3
O 3 3 O 5 3
X 4 3 5
O X 5 O 2 2 X
X 6 O O X
X 7 2 2 O O 5
O O 8 3
O X 9 2 2 3
X 10 4 4 4 4 3
Barcos disponibles Barcos hundidos Barcos disponibles Barcos hundidos TIPO 5: 1 TIPO 5: 0 TIPO 5: 1 TIPO 5: 0 TIPO 4: 1 TIPO 4: 1 TIPO 4: 1 TIPO 4: 1 TIPO 3: 1 TIPO 3: 2 TIPO 3: 2 TIPO 3: 1 TIPO 2: 1 TIPO 2: 3 TIPO 2: 3 TIPO 2: 1 A Ud. se le ha solicitado realizar una implementacin en Scilab del juego, la que permite a un usuario jugar contra la computadora. Objetivo El objetivo del juego es hundir la flota del contrincante tratando de adivinar su ubicacin en el tablero. Desarrollo del Juego Al iniciar el programa, se debe mostrar un men, el cual tendr las siguientes opciones: 1.- Nuevo Juego 2.- Como Jugar 3.- Autores 0.- Salir
!on la opcin % - & de se dar inicio al +uego. .a opcin % / & indicar las instrucciones de como +ugar, mientras que la opcin % 0 & mostrar una leyenda con los nombres de los autores del programa. Antes de iniciar el juego se solicitar al usuario que ingrese su nombre, el cual ser utilizado para indicar al jugador que es su turno, y al final del juego para felicitar al usuario indicando su nombre en el caso de ser el ganador. Luego el usuario proceder a ubicar los barcos en su tablero que estn clasificados de la siguiente forma: 4 de TIPO 2 3 de TIPO 3 2 de TIPO 4 1 de TIPO 5 Para el proceso de ubicacin de los barcos se mostrar la siguiente informacin:
Barcos disponibles Barcos ubicados TIPO 5: 1 TIPO 5: 0 TIPO 4: 1 TIPO 4: 1 TIPO 3: 1 TIPO 3: 2 TIPO 2: 1 TIPO 2: 3 Luego se proceder a solicitar al usuario la informacin como es el tipo de barco, la ubicacin y orientacin del mismo, hasta lograr ubicar todos los barcos de su flota. Para la ubicacin del barco se deber solicitar una fila y columna vlida, mientras que para el caso de la orientacin se deber solicitar si se desea ubicar en forma horizontal (H) o vertical (V) (Se deber validar que la ubicacin del barco sea posible segn la informacin proporcionada). Despus del proceso de ubicacin de los barcos del usuario se deber ubicar de manera aleatoria los barcos del computador. Una vez culminado el proceso de ubicacin de los barcos del usuario y la computadora, se deber simular el lanzamiento de un dado para decidir quin jugar primero (usuario o la computadora). Una vez que se conoce que jugador inicia el juego, se mostrar en pantalla los tableros junto con la informacin de los barcos disponibles. El tablero izquierdo es el campo del usuario, mientras que el derecho es el de la computadora.
Desarrollo del Turno
En cada turno se le consultar solo al usuario lo siguiente: -.1 Desea hundir un barco /.1 Pasar el turno 2.1 3inali4ar el +uego
5i el usuario desea hundir un barco se deber solicitar una columna y fila vlida %estas deben estar dentro del rango definido y tambi)n verificar que la celda que corresponde a la coordenada no haya sido utili4ada&, caso contrario se deber mostrar con un mensa+e para que ingrese nuevamente.
Despu)s de validarse la coordenada %fila y columna& se deber verificar lo siguiente: 5i logr darle a un barco deber mostrar el mensa+e 6.e ha dado a un barco7 y se deber actuali4ar la celda del tablero con una 8 %5i hundi completamente el barco deber adems mostrar el mensa+e 6"caba de hundir un barco7& En el caso de que no se logr darle a un barco se deber mostrar el mensa+e 63allaste7 y se deber actuali4ar la celda del tablero con un 9
En el caso de haberle dado a un barco tiene la oportunidad de continuar en el turno hasta que termine de hundir el barco o falle. "l finali4ar el turno deber actuali4ar el tablero y la informacin de la parte inferior relacionada con el nmero de barcos disponibles y hundidos.
Para el turno de la computadora solo deber de actuali4ar la tabla segn los movimientos que la computadora ha reali4ado.
El +uego puede finali4ar cuando un +ugador hunda toda la flota del contrincante, o al inicio de cada turno cuando se le consulta al +ugador que accin reali4ar.
"l final del +uego se mostrar mediante un mensa+e al ganador o si es un empate, luego de esto volver al :en principal.
Rbrica Accin Puntaje :en Principal / 5alir - uevo ;uego 0 .an4amiento de dados / !olocar barcos < (mprimir =ableros e informacin de barcos 0 (ngreso de nombre del usuario / :en =urno 1 >alidacin de fila y columna / >erificacin de que si logr darle o no a un barco 0 =urno de la computadora 0 >erificacin de ganador / (nformacin 3in ;uego - ,egresa al men principal - ,O,A- .+