联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp

您当前位置:首页 >> Matlab编程Matlab编程

日期:2018-09-30 05:55

UNIVERSIDAD CARLOS III DE MADRID

Juego Hundir La Flota

Programación de Ordenadores

Grado en Estadística y Empresa

12/09/2018

Prá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........................................................................................................................... 7

Prá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

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:

Que muestre el mensaje: “FLOTA HUNDIDA”

Mostrar el tablero del usuario/s de la partida.

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 x

Práctica

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–3D

Práctica

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 COMENTADO

Prá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 completa

Práctica

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.



版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp