Nombre | Usuario de Github | |
---|---|---|
Luciano Chiang | lachiang@uc.cl | @lucianoandresch |
Mauricio Pinto | mepinto1@uc.cl | @mauriciopc1 |
José Tort | jatort@uc.cl | @jatort |
Ariela Valenzuela | Asvalenzuela1@uc.cl | @ariela1 |
Carolina Valenzuela | cfvalenzuela1@uc.cl | @Cfvalenzuelar |
El repositorio actualmente se distribuye en tres carpetas principales: test y coverage consideran los test unitarios ejecutados sobre la aplicación y su cobertura respectivamente, mientras que el código en lib abarca la lógica del juego.
Para asegurar la ejecución del programa se debe contar con ruby versión 2.7.0 instalada, posteriormente se debe correr el siguente comando para la instalación de dependencias:
bundler install
Para ejecutar el proyecto debe ejecutarse en consola, dentro de la carpeta lib, la siguiente instrucción:
ruby main.rb
Para ejecutar los test unitarios y se actualice la carpeta del coverage, se debe ejecutar el siguiente comando en la carpeta raíz:
rake test
Se disminunyó el número de ofensas a 44. Estas se reparten en problemas con metodos, clases y funciones demasiado largas y complejas. Creemos que nos enfrentamos a este problema por un diseño y planificación poco coordinado. Se avanzó en el código sin la rigurosisdad de mantener ciertas convenciones y estándares, para cuando intentamos solucionarlo ya era demasiado tarde.
Inicio del juego: se define el modo de juego, puede ser
Se define luego la dificultad, puede ser estándar o difícil, se detalla más adelante las implicancias de cada dificultad.
Luego se pide al jugador que coloque los barcos (solo horizontal y vertical). No deben solaparse entre ellos.
Los jugadores pueden disparar por turnos a los barcos de su oponente, en caso de darle a algún barco, el turno de quien disparó se debe repetir.
Un barco se considera “hundido”, cuando ha recibido un disparo en cada una de las casillas que conforman dicha embarcación. Se informa al jugador cada vez que un barco sea hundido.
El juego termina cuando todos los barcos de uno de los jugadores fueron hundidos (todas las casillas con barcos recibieron un disparo).
El tablero definirá sus coordenadas según letras y números dispuestos en la parte superior y a los costados, la vista será como el siguiente ejemplo:
A | B | C | D | E | F | |
---|---|---|---|---|---|---|
1 | - | |||||
2 | i | m | M | m | F | |
3 | I | |||||
4 | M | |||||
5 | F |
El propio jugador ve en su tablero: i: inicio del barco f: fin del barco m: coordenada en la mitad de algún barco I: fuego en i F: fuego en f M: fuego en m -: fuego que cae al agua
A | B | C | D | E | F | |
---|---|---|---|---|---|---|
1 | - | - | ||||
2 | X | X | ||||
3 | - | |||||
4 | X | - | ||||
5 |
El jugador ve en el tablero del contrincante: X: fuego en algún barco del contrincante -: fuego en agua del contrincante
Dificultad estándar
Cantidad de barcos:
Nivel de dificultad 2
Cantidad de barcos: