Documente Academic
Documente Profesional
Documente Cultură
Facultad de Ingeniera
Escuela de Ciencias y Sistemas
Introduccin a la Programacin y Computacin 1
Seccin E
Ingeniero Neftal de Jess Caldern Mndez
Auxiliares Jorge Antonio Rompiche, Luis Ramrez
Primer Semestre 2017
Prctica 1
Battleship
Objetivos
Generales
1. Introducir a los estudiantes a la programacin con el lenguaje Java.
2. Que los estudiantes construyan e implementen algoritmos para solucionar el
problema planteado.
3. Aplicar la imaginacin del estudiante.
Especficos
1. Utilizar sentencias de control, ciclos y arreglos para la implementacin de la
solucin.
2. Implementar funciones y procedimientos para construir la solucin.
3. Construir una aplicacin funcional en consola.
Descripcin
Se requiere que construyan el juego de Battleship en consola, utilizando el lenguaje de
programacin Java. A continuacin se describe la lgica, componentes y funcionamiento del
juego.
1
Para un tablero de 10x10 se debe de utilizar los barcos de la siguiente forma:
1 Portaaviones
2 Submarinos
3 Destructores
4 Buques
2 Portaaviones
4 Submarinos
6 Destructores
8 Buques
(241) 23
B(24) = 10 +1= 10 + 1 = 2 + 1 = 3.
3 Portaaviones
6 Submarinos
9 Destructores
12 Buques
Se deben imprimir los dos tableros en juego (principal y secundario). En el mapa principal
se mostrarn los barcos ubicados inicialmente, as como los disparos recibidos por el
adversario. En el mapa secundario se desplegarn los disparos fallidos y acertados hacia el
oponente. En ambos casos (mapa principal y secundario) deben de mostrarse el nmero
correspondiente a cada fila y columna. Queda a discrecin del estudiante la simbologa a
utilizar para un disparo y el lmite del tablero.
2
Cada disparo solo puede abarcar una casilla o una coordenada.
Un barco quedar destruido cuando acierten los disparos en cada una de las
posiciones del l dentro del tablero.
Si el disparo acierta deber notificar al jugador en curso
El juego terminar cuando cuando alguno de los dos jugadores se quede sin barcos.
Si las coordenadas no existen dentro del tablero en juego se debe de notificar al
jugador en curso.
Men
1. Jugador vs Jugador
Comenzar una partida modalidad multijugador.
Se pedir a los jugadores el ingreso del tamao tablero a construir
A cada jugador se pedir su nombre
El men de construccin queda a discrecin del estudiante
2. Jugador vs Mquina
Comenzar una partida modalidad un jugador contra la mquina
Se pedir al jugador el ingreso del tamao tablero a construir
Se pedir su nombre
El men de construccin queda a discrecin del estudiante
3. Scores
La aplicacin podr llevar registro de un nmero mximo de 5 jugadores.
3.1. Descendente
Mostrar una lista de los jugadores con su respectivo nmero de partidas
ganadas ordenados de manera descendente segn el nmero de partidas
ganadas.
3
3.2. Ascendente
Mostrar una lista de los jugadores con su respectivo nmero de partidas
ganadas ordenados de manera ascendente segn el nmero de partidas
ganadas.
4. Eliminar Jugador
Con esta opcin se podr eliminar el registro de algn jugador.
5. Salir
Cerrar la aplicacin
Partidas
Para identificar las naves se utilizarn distintos caracteres de la siguiente forma:
Portaaviones 4x1 @
Submarino 3x1 #
Buque 1x1 *
4
Ejemplo tablero 10 x 10
@ @ @ @ & &
&
# * &
# *
# # #
& &
5
Durante la partida el programa deber:
3. Repetir los pasos anteriores hasta que se no exista barcos enemigos o barcos
propios.
6
Al finalizar la partida el programa deber:
Restricciones
La aplicacin debe desarrollarse en el lenguaje de programacin Java
Aplicacin exclusiva en consola
Para la lgica del juego debe implementarse arreglos. No es permitido utilizar las
estructuras que implementa Java (ArrayList, LinkedList, etc.).
El IDE a utilizar queda a discrecin del estudiante.
Copias parciales o totales tendrn nota de 0 y reporte a la escuela de Ciencias y
Sistemas.
Detalles de entrega
Fecha de entrega 2 de Marzo de 2017 antes de las 23:59 horas.
Entregables: cdigo fuente de la aplicacin y el archivo .jar (ejecutable de la
aplicacin).
Modalidad de entrega: crear una carpeta con el nombre [IPC1]Practica1_carnet,
comprimirla y subirla a la carpeta de Google Drive que se les compartir el da de la
entrega.