]El juego que proponemos es una versión simplificada del conocido juego de los barquitos. La cuadrícula de juego se compone de 6 x 6 cuadritos, en la que se sitúan aleatoriamente 3 submarinos, (un solo cuadro cada uno). Pueden estar juntos o separados e incluso pegados a las pareces del cuadro. El juego consiste en tratar de hundirlos en el mínimo número de jugadas. El ordenador nos irá indicando en cada jugada si las coordenadas del tiro (fila, columna), corresponden a “agua” o “hundido”, en caso de disparar a un cuadro de forma repetida indicará “disparo ya realizado”. Al final del juego, una vez hundidos los tres submarinos, nos dará la calificación como jugador. COMENTARIOS AL PROGRAMA: LINEAS - 10-40 Presentación y bucle de retardo (línea 40).
- 50 Dimensionado de una matriz de 6x6 (numérica), que emula la cuadrícula de juego, de manera que cada elemento de la matriz representa un cuadro del juego.
- 70-100 Situar barcos, las coordenadas de cada barco (fila y columna), se fian aleatoriamente mediante la línea 80, que genera dos números enteros comprendidos entre 1 y 6. Como al dimensionar la matriz, todos los elementos valen cero, a los seleccionados aleatoriamente se les da el valor 1, que representa una cuadrícula con submarino. Las que contienen un cero son agua.
- La línea 90 comprueba que dos barcos no ocupen la misma casilla. El bucle termina al situar los 3 barcos (si se desean más variar el valor final del bucle).
- 120-150 Dibuja las líneas horizontales. Como el número de cuadros es 6, el de líneas será 7 (cuadros +1). El paso del bucle es 16 ya que a cada cuadro en MODE 1 le corresponden 16 pixels o puntos elementales (alta resolución). El bucle se establece a partir de 16 para poder situar en la primera columna los números (1 al 6).
- 170-190 Este bucle es idéntico al anterior para dibujar las líneas verticales.
- 160 y 200-250 Imprimen los números de las columnas y de las filas, mediante la función LOCATE columna, fila, que fija el puntero de PRINT.
- 260-310 Entrada de las coordenadas del disparo y control de que éstas no sean mayores que 6. (Máximo número de filas y columnas). En caso de ser mayor vuelve a pedir la coordenada correspondiente (observar el cursor de INPUT en la pantalla).
- 320 Controla si la coordenada introducida lo fue ya anteriormente (tiro repetido). El valor 2 se fija cuando hay un disparo no repetido tanto si es agua como fuego, por la línea 380.
- 330 Control de “hundido”, como a los barcos se les identificó en la matriz como 1, si el elemento de la matriz que corresponde a las coordenadas del disparo es uno, ahí se encuentra un barco. La variable BH contiene el número de barcos hundidos, a fin de controlar el fin de juego en la línea 370.
- 340 Control de “agua”. Si el disparo no fue hundido ni repetido será “agua”, representado en la matriz por el valor 0.
- 350 Contador de disparos.
- 360 Borrado de textos viejos, para iniciar una nueva tirada.
- 370-390 Control fin del juego y apunte de tirada (2 en la matriz). Vuelta al juege (continuación).
- 410-440 Final del juego y establecimiento de la clasificación según el número de tiradas empleado en hundir los 3 submarinos. Se pasa a esta fase del juego por la línea 370, cuando BH = 3.
MEJORAS AL PROGRAMA El programa se ha construido pensando en su valor didáctico y no como un buen juego, por tanto el número de mejoras que pueden realizarse es grande, por ejemplo mayor cuadrícula, mayor número de barcos, barcos de más de una dimensión, mejor presentación, etc., algunas modificaciones serán fáciles de realizar, ¡anímese y hágalas! Otras serán más dificultosas, en cualquier caso inténtelo, es una buena forma de avanzar en programación. |