Proyecto Batalla Naval

Anuncio
Proyecto Batalla Naval
Objetivo: Aplicar la mayor parte de los conceptos vistos en clase, tales como: estructuras de control de programa, funciones
con paso por valor y paso por referencia, arreglos, uso básico de apuntadores, tipos de datos abstractos, manejo básico de
archivos, y API´s Win32.
Requisitos que debe cumplir la aplicación Win32:
1)
2)
3)
4)
5)
6)
7)
8)
9)
10)
11)
12)
13)
14)
15)
16)
17)
18)
19)
20)
Compilar y Ejecutarse sin que el programa se cierre inesperadamente.
Contar con una matriz de 15 renglones x 15 columnas, donde a cada celda le corresponda inicialmente la misma imagen (mar).
Colocar aleatoriamente los barcos en la matriz (inicialmente los barcos están ocultos). La mitad de ellos deberá tener un tamaño
de una sola celda, la otra mitad deberá tener un tamaño de dos celdas, una cuarta parte horizontal y otra cuarta parte vertical.
Todas las celdas son candidatas a tener un barco oculto, no importa que tan próximos queden los barcos unos de otros. Sin
embargo, debe cumplirse el criterio de no traslapar barcos con un tamaño de dos celdas.
Al iniciar el juego deberá mostrarse un mensaje que indique cuántos barcos ocultos hay, es decir, cuántos de una sola celda,
cuántos verticales y cuántos horizontales.
Se deberá mostrar en todo momento la cantidad de disparos restantes.
Un disparo no acertado provoca colocar una imagen ilustrativa del disparo en la celda correspondiente.
Un disparo acertado provoca colocar una imagen ilustrativa del escombro del barco destruido. En el caso de tratarse de un
barco de dos celdas puede explotar solo una de sus celdas o las dos.
Un disparo se realizará solo al hacer doble clic con el ratón.
Un disparo debe provocar la emisión de un sonido diferente cuando se acierta y cuando se falla.
Al terminarse los disparos, y no acertar en todos los barcos, deberá mostrarse un mensaje de fin de juego indicando al usuario
que ha perdido. Posteriormente, se mostrarán los barcos ocultos para que el usuario vea donde debió haber disparado.
Si se acierta a todos los barcos ocultos, deberá mostrarse un mensaje para notificarle al usuario que ha ganado el juego.
Deberá implementarse un archivo que contenga los mejores puntajes, es decir, el registro de con cuántos disparos se ha
ganado el juego.
La aplicación deberá estar programada para que no se pueda alterar el tamaño de la ventana, por lo tanto su tamaño debe
permitir la visualización de todo el tablero de juego.
Se deberá mostrar una rejilla para identificar claramente cada una de las celdas.
La aplicación deberá contar con un menú que le permita al usuario realizar las siguientes opciones: Jugar, Acerca de, Salir y
Ayuda.
La opción del menú Jugar deberá reiniciar el juego a condiciones iniciales.
La opción del menú Acerca de deberá mostrar un mensaje con la información de quién realizó el programa, es decir, el nombre
del alumno que lo programó. También se deberá mostrar la fecha de realización y algún otro dato que se considere importante.
La opción del menú Salir deberá cerrar la aplicación.
La opción del menú Ayuda deberá presentar un mensaje, página o abrir un documento con las reglas del juego.
Nota: Cada uno de los 20 puntos anteriores equivale a un 5%.
Los siguientes aspectos pueden considerarse como adicionales y equivalen a un 3% adicional sobre la calificación del
ordinario, siempre y cuando la calificación del ordinario sea aprobatoria:
1)
2)
3)
Al ganar un usuario, solicitarle su nombre y regístralo en el archivo de mejores puntajes.
Contar con un menú de configuración para solicitar el número de renglones y columnas que deberá tener el tablero, así como
la cantidad y porcentaje de barcos de una celda, de barcos de dos celdas horizontales y de barcos de dos celdas verticales.
Después de que un usuario ha ganado, incrementar el nivel para la siguiente partida de juego reduciendo el número de barcos
o incrementando el número de celdas en el tablero. Si el usuario selecciona la opción del menú Jugar, entonces se reinicia en el
primer nivel.
Descargar