Proyecto final /mejoramiento
Fundamentos de programación
II Término 2023/2024 ISTG
Profesor: Ing. Elena Gallegos
Entrega de la Tarea: 29 de ENERO del 2024
Grupos: Máximo 4 personas, mínimo 2 personas
PROYECTO, 29 de enero 2024
OBJETIVO DEL PROYECTO
Demostrar dominio del manejo de los tipos de datos estructurados y modularización
Demostrar conocimiento en uso de Menú
Incorporar el uso de funciones para modularizar y organizar el código.
Demostrar capacidad de trabajo en grupo ( cada uno debe ejercer un rol en el grupo y
contribuir al mismo )
Proyecto: Juego de Batalla Naval
Descripción:
Implementar el juego clásico de Batalla Naval en Python utilizando funciones. En este juego, dos
jugadores se turnarán para colocar barcos en un tablero y tratar de adivinar la ubicación de los
barcos del oponente. Se utilizarán listas y condicionales para gestionar el tablero y controlar el flujo
del juego.
Funciones Propuestas:
inicializar_tablero(tamaño)
Descripción: Crea un tablero vacío del tamaño especificado.
Parámetros: Tamaño del tablero (número de filas y columnas).
Retorna: Un tablero vacío.
mostrar_tablero(tablero)
Descripción: Imprime el tablero actualizado en la consola.
Parámetros: Tablero actual.
Retorna: Nada.
colocar_barco(tablero, fila, columna)
Descripción: Coloca un barco en la posición especificada del tablero.
Parámetros: Tablero, fila y columna de la posición del barco.
Retorna: Nada.
realizar_disparo(tablero, fila, columna)
Descripción: Realiza un disparo en la posición especificada del tablero.
Parámetros: Tablero, fila y columna del disparo.
Retorna: True si el disparo acertó, False si falló.
jugar_batalla_naval(tamaño)
Descripción: Inicia el juego de Batalla Naval y controla el flujo del juego.
Parámetros: Tamaño del tablero.
Retorna: Nada.
Enunciado/Reglas:
Desarrolla un juego de Batalla Naval para dos jugadores. Cada jugador tendrá un tablero donde
colocará sus barcos y otro tablero donde registrará los disparos realizados. Los barcos pueden ser
de diferentes tamaños (por ejemplo, de 2 a 5 celdas).
El juego se inicia con la colocación de los barcos por parte de cada jugador. Luego, los jugadores se
turnan para realizar disparos en los tableros del oponente. Los barcos se colocan en posiciones
horizontales o verticales, pero no en diagonal.
El juego continúa hasta que un jugador hunda todos los barcos del oponente. Cada jugador verá su
propio tablero con la ubicación de sus barcos y el tablero del oponente con los disparos realizados.
El programa debe incluir funciones para inicializar el tablero, colocar barcos, realizar disparos y
mostrar los tableros. Además, se deben implementar controles para garantizar que los jugadores
no coloquen barcos fuera del tablero o en posiciones ocupadas.
Rúbrica: Menú de opciones y presentación (2 puntos). Funcionalidad (4 puntos). Modularización
(3puntos). Documentación (1 puntos). Sin comentarios (-3ptos)
Entregables:
Código fuente en Python que implemente las funciones del juego de Batalla Naval.
Documentación técnica: Documentación que explique las reglas del juego y cómo utilizar
cada función.
Manual de usuario: Ejemplos de ejecución del juego, mostrando el progreso de la batalla.
Sustentación
Se tomará de manera individual
La fecha de la sustentación será publicada con anticipación