Está en la página 1de 1
Universidad Católica del Norte Facultad de Ingeniería y Ciencias Geológicas Departamento de Ingeniería de Sistemas

Universidad Católica del Norte Facultad de Ingeniería y Ciencias Geológicas Departamento de Ingeniería de Sistemas y Computación

Taller II: “Al Combate Naval!”

El juego “Combate Naval” es un juego de guerra en el cual cada jugador debe hundir la flota de su oponente realizando lanzamientos de misiles, este se compone dos de tableros para cada jugador en los cuales cada uno de ellos ubica una flota de barcos asignados, cada jugador debe realizar un lanzamiento por turno de un misil indicando las coordenadas en las que desea impactar, el juego finaliza una vez que un jugador elimina toda la flota del oponente.

Implemente el juego de combate naval de acuerdo a las siguientes condiciones:

Class Programación I { private Semestre sem = new Semestre(1, 2012);

}

I { private Semestre sem = new Semestre(1, 2012); } § El juego consta de dos

§ El juego consta de dos tableros para cada jugador, los cuales se identifican del uno al diez para las columnas y de la “A” hasta la “J” para las filas, en uno de ellos se registran los lanzamientos del oponente y en el otro los lanzamientos realizados por el propio jugador.

§ Cada jugador cuenta con una flota limitada de barcos, en las cuales se incluyen:

- Un porta aviones

- Un buque de guerra

- Dos lanchas cañoneras

- Una fragata.

§ Cada vez que un jugador realiza un lanzamiento de misil, se debe registrar en los respectivos tableros, además se debe indicar si se ha dañado alguna flota.

§ Cada vez que un misil dañe o toque a una barco, este queda con estado “Averiado” y solo es “Hundido” cuando se ha acertado en todas sus coordenadas. Además cada vez que un atacante acierta a una flota enemiga debe identificarla en su tablero.

§ No se puede ubicar un barco sobre otro ni hacer que estos se crucen, una coordenada solo puede ser utilizada por un solo barco.

§ Los barcos se pueden ubicar de forma horizontal o vertical, pero nunca de forma diagonal.

Considere lo siguiente:

§ Los datos de cada barco se pueden resumir en: Nombre del barco, Largo, Ubicación (fila, columna), Estado (Sin daños, Averiado, Hundido).

§ Se incluirá el concepto de puntaje, donde cada jugador comenzará con cincuenta puntos, de los cuales, por cada lanzamiento fallido se descontará 1 punto y por cada lanzamiento acertado se otorgarán 2 puntos.

§ El puntaje debe ser visible en todo momento para el jugador.

§ El jugador sólo podrá ver sus tableros, en los cuales incluirá los disparos realizados y los disparos que ha recibido.

§ Al comenzar el programa se debe registrar el nombre del jugador.

§ Luego se debe ubicar cada barco en el respectivo tablero.

§ El jugador puede realizar el primer disparo indicando la coordenada a la que desea atacar.

§ Si algún jugador logra dañar una flota enemiga, tiene la oportunidad de realizar otro disparo hasta que falle su tiro, luego el turno es cedido al oponente.

§ El sistema debe contener un menú vía consola, que permita:

1. Ubicar Flota (solo se puede ubicar la flota antes de iniciar un juego).

2. Terminar Juego (elimina el puntaje obtenido y elimina la información de los tableros para un nuevo juego).

3. Iniciar Juego (solo se puede jugar si se ha ubicado la flota).

El programa debe simular un juego de “Batalla Naval” entre un jugador y el sistema, el sistema debe funcionar de acuerdo a lo siguiente:

§ Funciona con dos tableros al igual que el jugador, en los cuales uno es para realizar los disparos y otro para indicar donde ha recibido disparos.

§ El sistema debe ubicar los barcos otorgados en su respectivo tablero al azar.

§ Cada vez que el sistema logre dañar a un barco, debe lanzar su siguiente disparo en la coordenada que se encuentra al lado de la ya acertada, con el fin de encontrar y dañar completamente el barco.

Las dimensiones de los barcos son las siguientes:

- Porta Aviones:

de los ba rcos son las siguientes: - Porta Aviones: - Buque de Guerra: - Fragata:

- Buque de Guerra:

- Fragata:

- Lancha Cañonera:

Aviones: - Buque de Guerra: - Fragata: - Lancha Cañonera: Nota: § Se requiere la utilización

Nota:

§ Se requiere la utilización de contenedores para el almacenamiento de los datos.

§ La interface debe ser gráfica y se asignarán puntos por la creatividad asociada a la misma.

§ Las funciones para dibujar se encuentran en la librería StdUCN en el archivo “StdDraw”. Con ellas se puede dibujar líneas, puntos, círculos, cuadrados, etc. (más información en el archivo StdDraw.java contenido en la librería).

Condiciones de Entrega

§ La fecha de entrega es a más tardar el viernes 4 de mayo a las 23:59 hrs.

§ La resolución de taller debe ser realizada en forma personal.

§ Consultas sobre el taller serán respondidas en el foro del Educ@.

§ La entrega del taller será realizada por medio del sistema Educ@, en la sección trabajos.

§ El taller debe estar empaquetado en un archivo ZIP o RAR conteniendo el proyecto completo, no se aceptarán clases sueltas.

§ En el archivo entregado además se debe incluir el informe en formato Microsoft Word 2003.

§ Todo el código debe estar documentado de acuerdo a los estándares JavaDOC.

§ Cada hora de atraso en la entrega del taller significará un punto menos descontado de la nota final del taller.

§ La copia de talleres será sancionada con nota 1.0 y reprobación automática del curso.