Vous êtes sur la page 1sur 4

ESCUELA SUPERIOR POLITCNICA DEL LITORAL

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- .+