Está en la página 1de 3

UNIVERSIDAD JORGE TADEO LOZANO

ALGORITMOS Y PROGRAMACION

Ing. Ricardo D. Camargo L.

PROYECTO DE PROGRAMACION JAVA


PROYECTO FINAL
IMPLEMENTACION DEL JUEGO BATALLA NAVAL
25 de Abril de 2016.

El objetivo del proyecto final es realizar el diseo y la implementacin en lenguaje Java del
tradicional juego llamado Batalla Naval, tambin conocido con el nombre de Juego de
los Barcos, se juega entre dos (2) jugadores (en nuestro caso, se jugar entre un jugador
humano y el computador), segn Wikipedia
https://es.wikipedia.org/wiki/Batalla_naval_(juego),

las instrucciones son las siguientes (con modificaciones y adaptaciones):


1. TABLEROS

Cada jugador maneja dos tableros de 10 x 10 divididos en casillas, en donde las filas se
denotan con letras (desde la letra A, hasta la J), y las columnas con nmeros del 1 al 10.
Cada tablero representa una zona diferente del mar abierto: la propia (Tablero 1) y la
contraria (Tablero 2). En el Tablero 1, el jugador coloca sus barcos y registra los disparos
que el oponente realice; en el Tablero 2, se registran los disparos propios, al tiempo que se
adivina la posicin de los barcos del contrincante.
2. NAVES

Al comenzar, cada jugador posiciona sus barcos en el primer tablero, de tal forma que el
oponente no lo sepa.

Cada quien ocupa, segn sus preferencias las casillas del Tablero 1 con sus naves de forma
horizontal y/o verticalmente. Ambos participantes deben ubicar el total de naves que
tienen a disposicin. Las naves que cada jugador tiene a su disposicin, con el nmero de
casillas que ocuparn en el Tablero 1 son las siguientes:
NAVE

Portaaviones
Destructor
Carguero
Submarino
Lancha

NMERO DE CASILLAS
QUE OCUPA
5
4
4
3
2

UNIVERSIDAD JORGE TADEO LOZANO


ALGORITMOS Y PROGRAMACION

Ing. Ricardo D. Camargo L.

3. DESARROLLO DEL JUEGO

Una vez que todas las naves han sido posicionadas en el Tablero 1, se inicia una serie de
rondas. En cada ronda, cada jugador en su turno dispara hacia la flota de su oponente
indicando una posicin, basados en las coordenadas de una casilla. Por ejemplo, una
coordenada puede ser G4, la que registra en el Tablero 2.
Si en la coordenada del disparo realizado est ubicado un barco contrario, el oponente
cantar Impacto! en el caso que todava quedan partes del barco (casillas) sin daar.

Si con ese disparo la nave ha quedado totalmente destruida (esto es, la ltima de las casillas
que conforman la nave ha sido impactada), el oponente cantar Impacto y Hundido!
Si la posicin indicada no corresponde a una parte de barco alguno, cantar Al Agua!

Cada jugador referenciar en el Tablero 2, los disparos que ha realizado sobre las naves del
oponente y los que han cado al mar.
4. FIN DEL JUEGO

El juego termina con un ganador cuando ste destruya primero todas las naves de su
oponente.

Para que puedan tener una mejor idea quienes no conozcan el juego, lo pueden practicar
en la siguiente pgina web:
http://www.juegoswapos.es/juego-de-los-barcos.htm
5. ESPECIFICACIN DEL PROGRAMA EN JAVA

Se debe realizar la implementacin del juego para que un (1) jugador humano pueda jugar
con el computador, mas no para que dos (2) jugadores humanos jueguen. Los
requerimientos funcionales del juego estn dados en las condiciones indicadas en los
numerales 1 al 4 de este documento, los que se debern cumplir de forma completa.
6. CONDICIONES DE DESARROLLO
1) La implementacin del cdigo en lenguaje Java deber reflejar la utilizacin de todas las
herramientas vistas y aprendidas en clase, las cuales son:
a. Objetos, clases y mtodos

UNIVERSIDAD JORGE TADEO LOZANO


ALGORITMOS Y PROGRAMACION

Ing. Ricardo D. Camargo L.

b.
c.
d.
e.
f.
g.
h.

Getters, setters y constructores


Herencia
Arreglos
Matrices
Archivos
Listas (Tipos Abstractos de Datos ser tratado en clase posteriormente)
Se deber tener una clase llamada Principal (no se permite otro nombre
diferente) que solamente invoque los objetos y mtodos de las otras clases, no
deber tenerse en esta clase ninguna otra programacin adicional.
2) La forma de implementar el juego, la representacin de los tableros y dems elementos
del juego (naves, turnos de cada jugados, indicacin de coordenadas, etc.), as como la
interaccin con el usuario ser de forma libre, en donde se refleje la creatividad del
estudiante y su capacidad de comprensin e implementacin de todas las herramientas
vistas en clase, basados en la condicin establecida en el numero 1) de este punto.

También podría gustarte