Essays.club - Ensayos gratis, notas de cursos, notas de libros, tareas, monografías y trabajos de investigación
Buscar

Mastermind.

Enviado por   •  26 de Enero de 2018  •  2.761 Palabras (12 Páginas)  •  279 Visitas

Página 1 de 12

...

[pic 6][pic 7]

Esto trae un problema en donde si elem es mayor a codigo, los demás dígitos de elem pueden repetirse lo cual no se debería pero luego se soluciona verificando si esos números se repiten y se coloca uno nuevo

[pic 8]

Donde nveces es una función de búsqueda que retorna la cantidad de veces que el número exista en un vector y si es mayor a 1 pues se cambiara a otro número que no se repita.

[pic 9]

Intercambiamos las fichas entre sí para que los primeros elementos no coincidan con los números del código.

---------------------------------------------------------------

Ya después de haber generado lo necesario para jugar, se necesita una función que utilice estos datos, generando la interfaz de juego y los cálculos necesarios, a esta función la llamaremos juego() que retorna 1 si el jugador gano o 0 si perdió. Esta sería nuestra función base para mastermind ya que contiene validaciones importantes ya mencionadas antes e imprime la interfaz de juego, no obstante esta función también depende de otras para su simplificado.

Partimos con una estructura repetitiva do while que es los que nos mantendrá en el rango de los intentos configurados por el jugador. Se imprimen primero las fichas del juego y luego dos tablas (arreglos bidimensionales) inicializadas en “0” en las cuales una es en donde se colocaran los intentos del jugador y otra las pistas dadas por el computador.

[pic 10]

En pantalla se imprimen las fichas, luego los intentos y pistas, luego de esto pasamos a obtener la jugada del n-esimo intento del jugador y entramos en las famosas validaciones de las que hemos hablado anteriormente.

---------------------------------------------------------------

Para la validación de jugada implementada en c, se tienen dos condiciones:

- El código introducido debe tener una cantidad de dígitos proporcional a la cantidad de dígitos del código.

- El código introducido debe contener los dígitos de la FICHAS ofrecidas, que en este caso son numeros que el jugador puede introducir.

Código de la validación de jugada

[pic 11]

Si el código introducido pasa por estas 2 validaciones, entonces este se vacía en un vector (vaul) y se puede pasar al siguiente proceso que sería la Validación de pistas donde se verifican condiciones a cada dígito del código introducido comparándolo con el código secreto. Para esta validación, se tiene 3 condiciones:

- Si el digito está en el código y en posición correcta “x”.

- Si el digito está en el código pero en posición incorrecta “y”.

2.1) Si el digito está en el código una sola vez

2.1.1) Si el digito se introdujo una sola vez

2.1.2) Si el digito se introdujo más de una vez

2.2) Si el digito está en el código más de una vez

2.2.1) Si el digito se introdujo una sola vez

2.2.2) Si el digito se introdujo un más de una vez

- Si el digito no está en el código “0”.

Un ejemplo de cómo interpretar la validación de “y”

[pic 12]

Aquí se muestra parte del código donde se hace la Validación de pistas

[pic 13]

Habiendo pasado por esta validación, colocadas ya las pistas en su respectivo lugar comprobamos lo siguiente:

[pic 14]

Por cada x colocada en las pistas lo sumamos a un contador y el contador es equivalente al tamaño del código quiere decir que el jugador introdujo su jugada con dígitos en buena posición y ha descubierto el código secreto. Por lo tanto podrá elegir si desea jugar de nuevo o simplemente terminar la ejecución del juego.

En caso contrario de que no tenga todas las pistas en “x” se pasara al siguiente intento hasta que el jugado pueda descubrir el juego y se termine la cantidad de intentos configurados, si se realiza esta cantidad y no se ha descubierto el codigo secreto entonces el jugador habrá perdido, pero de igual manera podrá elegir si desea jugar de nuevo o simplemente terminar la ejecución del juego.

---------------------------------------------------------------

Casos de prueba

Presentación

[pic 15]

Menú

[pic 16]

---------------------------------------------------------------

Reglas

[pic 17]

Configurando

[pic 18][pic 19]

[pic 20]

---------------------------------------------------------------

Interfaz de juego

[pic 21][pic 22]

Con tamaño del código 6, fichas 8 e intentos 12

[pic 23]

---------------------------------------------------------------

Ganador o Perdedor

[pic 24][pic 25]

Cerrando juego

[pic 26]

---------------------------------------------------------------

Fuentes de programa

funcionesmm.h

/* !MASTERMIND!

...

Descargar como  txt (25.3 Kb)   pdf (89.9 Kb)   docx (31.9 Kb)  
Leer 11 páginas más »
Disponible sólo en Essays.club