首页 > > 详细

Programación de Ordenadores讲解、辅导Matlab程序、Matlab编程辅导、解析Matlab 讲解留学生Prolog|代

UNIVERSIDAD CARLOS III DE MADRID
Juego Hundir La Flota
Programación de Ordenadores
Grado en Estadística y Empresa
12/09/2018Práctica
2
TABLA DE CONTENIDOS
Especificación del problema.......................................................................................................... 3
Reglas del juego ............................................................................................................................ 5
Opción 1: Entrada por fichero...................................................................................................... 5
Opción 2: Entrada por teclado ...................................................................................................... 5
Opción 3: Estadísticas.................................................................................................................... 6
Opción 4: Abandonar el juego....................................................................................................... 6
Codificación del Programa ............................................................................................................ 6
Documento de la Práctica ............................................................................................................. 6
Normas de entrega........................................................................................................................ 7
Fecha de Entrega........................................................................................................................... 7Práctica
3
Especificación del problema
El juego “Hundir la Flota” se desarrolla sobre una matriz de 10x10 casillas. La flota
consta de:
? 1 barco de 5 casillas.
? 2 barcos de 4 casillas.
? 2 barcos de 3 casillas.
? 3 barcos de 2 casillas.
? 4 barcos de 1 casilla.
Los barcos sólo se pueden colocar en vertical u horizontal (no en diagonal), y no
pueden tocarse (ni horizontal, vertical ni diagonalmente), pero sí pueden tocar los
bordes del tablero.
Se desea construir un programa que permita jugar a dos usuarios; el programa deberá
permitir:
1.- Mostrar un menú inicial que inicie el juego y permita al usuario elegir entre:
a) “1”: Opción 1: Jugar 1 usuario, leyendo la posición inicial de la flota de
un fichero externo con el formato que se indica más adelante.
b) “2”: Opción 2: Jugar 2 usuarios, cada usuario elige las posiciones de su
flota por teclado, que será contra la que va a jugar el otro usuario.
c) “3”: Opción 3: Estadísticas
d) “4”: Opción 4: Abandonar el Juego.
2.-Una vez elegida la opción 1 y opción 2, comienza el juego, en el que el usuario
dispara sucesivamente a posiciones hasta conseguir hundir la flota completa, o bien se
rinde, en cuyo caso el programa muestra la posición que tenía la flota y vuelve al menú
principal.
3.-En cada tirada de las opciones 1 y 2, el programa debe:
? Sacar un mensaje que indique si la tirada es: “AGUA” en el caso que no haya
dado a ningún barco; “TOCADO” si ha dado a un barco pero todavía no está
hundido; “HUNDIDO” si en la tirada ha dado a un barco y lo ha hundido.Práctica
4
? Mostrar el tablero en el estado actual:
o el carácter “b” si no hay barco en esa posición.
o el carácter “x” si en esa posición hay un barco.
o asteriscos “*” en las posiciones que ocupa un barco hundido.
o el carácter ”H” en la posición en la que se ha “TOCADO” a un barco pero
no lo ha hundido.
o Ejemplo de cómo se debe mostrar el tablero al usuario:
? Cuando todos los barcos se hayan hundido:
o Que muestre el mensaje: “FLOTA HUNDIDA”
o Mostrar el tablero del usuario/s de la partida.
o Mostrar una estadística del juego actual:
? Número Total de Tiradas.
? Número de Aciertos.
? Número de Fallos.
? Porcentaje de Aciertos.
? Porcentaje de Fallos.
o Grabar la estadística para tener un histórico de las partidas
o Grabar en un fichero llamado “Salida.xls” el tablero final.
3. En las partidas donde jueguen dos usuarios, un usuario seguirá tirando hasta que la
posición a la que tire sea “Agua”, que dará paso al segundo usuario.
b b x b b b x x b b
x b b b x b b b b x
b b b b b b b b b b
b b b b b x x x x b
b b b x b b b b b b
x b b x b b x x x x
x b b b b b b b b b
x b b b x x x b b x
x b b b b b b b b x
x b b x b b x x b xPráctica
5
Reglas del juego
1. Los usuarios para indicar los disparos tienen que indicar la fila y columna. En la
que el primer índice es un dígito entre 1 y 10 que indica la fila y el segundo índice
es una letra entre la A y la J que indica la columna.
2. Cuando el usuario se rinde, la entrada debe ser una cadena con el único carácter
“R”.
3. Si la entrada no cumple estas características se considera inválida, y se repetirá la
petición de datos sin que esto afecte al estado del programa.
4. La jugada termina cuando el usuario ha hundido toda la flota o se ha rendido.
5. No es necesario validar que se repitan disparos sobre la misma posición.
Opción 1: Entrada por fichero
Para el caso de entrada por fichero (opción 1), dicho fichero de entrada se llama
flota.xls. Considerar que el fichero existe y no está vacío.
Opción 2: Entrada por teclado
La entrada de datos de cada uno de los barcos se realizará de la siguiente forma:
? La posición de cada barco está formada por 4 caracteres con las siguientes
restricciones:
o el primero es un dígito entre 1 y 10, indica la fila.
o el segundo es una letra mayúscula entre A y J, indica la columna.
o el tercero es una letra mayúscula, H ó V, que indica si el barco se
sitúa de forma horizontal (H) o vertical (V).
o el cuarto es un dígito entre 1 y 5, que indica cuántas casillas ocupa el
barco.
? Comprobar que los barcos que se describen caben en el tablero y no se
tocan.
Por ejemplo:
? 1BH3, este barco estaría en las posiciones: 1B –1C – 1D
? 2DV2, este barco estaría en las posiciones: 2D–3DPráctica
6
Opción 3: Estadísticas
Se mostrará las estadísticas del histórico:
- Número de partidas
- Partidas de 1 sólo jugador
- Partidas de 2 jugadores
- Por cada jugador
o Tiradas
o Aciertos
o Fallos
o Porcentajes
Opción 4: Abandonar el juego
Se termina el juego “Hundir la flota”
Codificación del Programa
El programa se llamará “JuegoGrupoxx.txt”. Solamente un componente del grupo
subirá dicho fichero en Aula Global 2.
El Código del Programa debe estar completamente comentado.
Documento de la Práctica
Consistirá en un documento realizado en Microsoft Word, llamado
“Memoria_GrupoXX.docx” en el que, como mínimo, debe aparecer la siguiente
información:
? Portada: Título de la práctica, NIA, Grupo, Nombre y Apellidos de los alumnos.
? Tabla de Contenido del documento de la práctica.
? Descripción de las estructuras de datos utilizadas
? Enumerar las funciones realizadas, explicando brevemente: qué realiza cada
función, explicar los parámetros de entrada a la función, sus variables y el
contenido de la función.
? Ejemplo del funcionamiento del programa: llamadas a funciones; entradas y
salidas de juego.
? Código del programa COMENTADOPráctica
7
El documento de la práctica deberá ser entregado impreso y encuadernado así como
subido electrónicamente en Aula Global2.
Normas de entrega
La práctica se realizará en grupos de dos alumnos.
Para que la práctica se evalúe, se debe entregar y realizar:
? En formato electrónico:
o La documentación de la práctica con las especificaciones que se
indica en el apartado “Documentación de la Práctica” de este
enunciado.
o La codificación del programa.
? En papel:
o La documentación con las especificaciones que se indica en este
enunciado
? La defensa de la práctica.
Fecha de Entrega
? Entrega 1: 3 de Octubre al inicio de la clase práctica.
o Menú del juego
o Opción 1 (entrada por fichero): Lectura del fichero, visualización de
tablero, lectura de disparos
o Opción 2 (entrada por teclado): Insertar barcos de ambos jugadores,
comprobación de posiciones, visualización de tablero, lectura de
disparos
? Entrega 2: 7 de Noviembre al inicio de la clase práctica.
o Menú del juego
o Opción 1 del Juego completa
? Entrega 3: 12 de Diciembre al inicio de la clase práctica.
o Opción 2 del Juego completa
o Opción 3 del Juego completaPráctica
8
? En cada una de las entregas se realizará entrega en papel.
? Se realizará la defensa de la práctica en cada una de las entregas. LA
DEFENSA SE DEBE REALIZAR POR TODOS LOS MIEMBROS DEL GRUPO
PARA QUE LA PRáCTICA SEA EVALUADA.

联系我们
  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp
热点标签

联系我们 - QQ: 99515681 微信:codinghelp
程序辅导网!