Tema 1



Explicación

1) main.java crea una instancia de GameLogic.

2) GameLogic instancia MainMenu, lo que abre la ventana de configuración de barcos.

3) GameLogic captura estos valores de configuracion y crea una instancia de CreateGrid, la cual crea una arreglo cuadrado que satisface la cantidad de celdas configuradas (Grid Width).

4) GameLogic crea un arreglo que almacena los barcos, los barcos además tienen un atributo "ShipPiece" que es un array que guarda las piezas de barco (1 si esta viva, 0 si sufrio daños).

5) Al hacer click en start se muestra una nueva ventana, con los barcos y las casillas, se debe hacer click en el boton "randomize grid", para que las piezas sean colocadas (el juego no inicia si todas las piezas son colocadas).

6) Inicia el juego y el jugador debe hacer click en una casilla, cada casilla de nuestra matriz, tiene asignada un rango de coordenadas "X" y "Y", que en caso de seleccionar con el raton, estas serían buscadas en la Matriz del jugador correspondiente.
La matriz esta llena de (1) ->para pieza de barco y (0)-> para vacio.

7) Cuando se le achunta a un barco, el 1 cambia a 0 y se le descuenta una pieza de barco al jugador, cuando este conteo llega a 0 el jugador contrario gana la partida.

Retos y Problemas a la hora de Programar

1) Sobre poner imagenes parecia una tarea imposible, pero gracias a un metodo encontrado en staroverflow logramos solucionarlo.

2) La metodologia para ordenar los barcos fue complicada y reiteradas veces daba un error de superposicion esto se arreglo creando un array, que nos permitiera saber donde hay un barco y donde no.

3) Habia veces que no todos los barcos eran mostrados en la imagen, eso se arreglo poniendolos todos en una lista y tratandolos como piezas, asi siempre iban a estar la cantidad de piezas correctas