Práctica 3
En esta práctica, vamos a crear el juego de hundir la flota (aunque de forma muy simplificada).
Nuestra aplicación tendrá 3 variables globales: el número de barcos (por defecto serán 6), el tamaño del tablero (8×8), y una matriz de enteros que será nuestro tablero. La idea es que según el número de cada elemento de la matriz indique una situación u otra:
- 0: casilla cerrada y sin barco
- 1: casilla cerrada y con barco
- 2: casilla abierta y sin barco
- 3: casilla abierta y con barco
La aplicación empezará por rellenar la matriz con 0. A continuación, ejecutará una función para posicionar los barcos en el tablero (todos los barcos serán de tamaño 1). Por último, mostrará el tablero según la situación de cada casilla.
A partir de ahí, el usuario podrá disparar, eligiendo fila y columna (la primera fila será la 1, y no la 0). El tablero se actualizará con el disparo del usuario y volverá a mostrar la opción de disparar. El juego terminará cuando el usuario introduzca el 0 en el menú.
Ampliaciones
Ampliación 1 (1 pt)
Hacer que el juego termine cuando el usuario encuentre todos los barcos.
Ampliación 2 (1 pt)
Comprobar que el usuario elige una fila y columna correcta a la hora de disparar (que exista y que no esté abierta). En caso contrario, la aplicación mostrará el error correspondiente.
Ampliación 3 (1 pt)
Implementar un número de disparos máximos de los que dispone el usuario. Si termina los disparos sin haber encontrado todos los barcos, el usuario perderá la partida.