Skip to content
This repository has been archived by the owner on Jul 10, 2019. It is now read-only.
asacristanj edited this page May 21, 2019 · 15 revisions

Bienvenido a la wiki de Minijuegos!

Aquí podrás encontrar toda la información necesaria para poder usar y disfrutar del programa a la perfección. Desde un tutorial sobre cómo jugar correctamente hasta imágenes y vídeos de ejemplos. Esperemos que le sea de gran ayuda!

Contenido del trabajo y comparación entre objetivos iniciales y finales:

El programa consiste en una plataforma de minijuegos interactiva que cuenta con 3 minijuegos clásicos: cifras y letras, hundir la flota y trivial. Al finalizar cada juego, el jugador recibe (dependiendo de su desempeño en el juego) una serie de puntos, que se traducen en tickets que puede usar en una tienda virtual para adquirir premios. Contiene una estructura que es usada múltiples veces en el Trivial, tres ficheros: para la tienda, para los animales en el Cifras y letras y para guardar los usuarios y sus correspondientes tickets, diversas funciones con sus distintas funcionalidades, uso de punteros, matrices (para el tablero del Hundir la flota) y sobre todo una gran cantidad de ganas y esfuerzo.

Como objetivo inicial teníamos planteada la idea de un minijuego para poder divertir y entretener a la gente y también a nosotros mismos. Pero a medida que fuimos avanzando y organizándonos, nos vimos con tiempo, ganas y capacidad para avanzar un paso más y hacer un juego global que contuviese tres minijuegos y más accesorios. Sabíamos que era atrevido pero con trabajo lo conseguiríamos y finalmente el equipo está muy contento con el resultado ya que hemos conseguido crear nuestro primer juego en nuestro primer contacto con la informática y, a pesar de los muchos errores que tendrá el proyecto, es jugable y adictivo para cualquier aficionado a los minijuegos de este estilo. Esperemos que os guste y que disfrutéis de él.

Funcionalidades implementadas en el programa:

El programa cuenta con una gran serie de funcionalidades, para empezar cuenta con una opción inicial de jugador o administrador la cuál te permite modificar las listas de la tienda y de animales. Aquí podemos observar esta funcionalidad:

A continuación accedemos a un menú principal mediante el cuál podemos acceder a las distintas partes de los minijuegos o incluso salir del programa:

En la opción de cifras y letras nos encontramos el primer juego del programa, el cuál reta a nuestro intelecto, nos da la opción de leer las instrucciones y nos deja elegir entre cifras o letras. El inicio es el siguiente:

En la opción de hundir la flota podemos disponer de un tablero similar a cualquier juego de hundir la flota en cualquier plataforma. El resultado obtenido es:

En la opción del trivial, nos permite empezar a jugar a este maravilloso juego con una introducción acerca del juego y la elección (disponible en todos los juegos) de leer las instrucciones. La disposición es la siguiente:

Finalmente la opción de la tienda te muestra todos los premios posibles y los puntos que se necesitan para obtenerlos. El escaparate es el siguiente:

Tutorial: A pesar de que la mayoría de vosotros conocerá el famoso programa de televisión Cifras y letras, sabrá jugar de sobra al clásico juego de Hundir la flota y estará cansado de jugar al Trivial, os dejamos aquí un breve tutorial sobre cómo jugar y usar las funcionalidades del sistema.

En primer lugar el programa te preguntará si eres jugador o administrador. Si eliges la opción de administrador, podrás modificar los premios de la tienda y la lista de animales validos, si en cambio eliges jugador, te saldrá el menú principal donde podrás elegir entre 5 opciones: -Jugar Cifras y Letras (Pulsa 1) -Jugar Hundir la flota (Pulsa 2) -Jugar Trivial (Pulsa 3) -Abrir Tienda (Pulsa 4) -Salir del programa (Pulsa 5).

Si decides jugar al Cifras y Letras el programa te dará la opción de leer las instrucciones a la que el usuario deberá responder si o no. A continuación te dará la opción de elegir entre cifras, deberás pulsar C o letras, deberás pulsar L. Si eliges cifras, el programa te dará 6 números al azar y un número objetivo al que deberás llegar operando. En cada ronda deberás introducir el número (perteneciente a esos 6 números al azar), presionar enter, introducir un operador(de los que están permitidos), presionar enter e introducir el segundo número para realizar la operación. A continuación el programa te preguntará si deseas que el número obtenido en esa operación sea definitivo, si decides que no, el programa repetirá la misma secuencia pero modificando la lista de números al azar, si decides que si, el juego de cifras acabará y calculará tu puntuación en función de lo cerca que estés del número objetivo de la manera que en el propio juego está indicado, siempre y cuando las operaciones estén dentro de los 90 segundos que tiene el programa porque sino, su puntuación será 0. Finalmente te dará la opción de volver a jugar (Pulsando 0) o salir del juego (Pulsando cualquier otro número). En cambio si eliges letras, el programa te dará elegir ente consonante (Pulsando C) o vocal (Pulsando V) hasta en 12 ocasiones. El programa te otorgará una lista con las 12 letras obtenidas y el usuario tiene que escribir un animal existente con las condiciones explicadas en las instrucciones del propio juego, si el usuario escribe un animal erróneo o que no está permitido con las letras, el sistema te seguirá dando la oportunidad de acertar, pero si tardas más de 90 segundos, tus esfuerzos serán en vano ya que la puntuación será 0. Si te cansas de pensar, tienes un botón W de rendición que sale del juego para seguir intentándolo con diferentes letras o simplemente descansar. Finalmente te da la opción de volver a jugar (Pulsar 0)o salir del juego (Pulsar cualquier otro número). Una vez sales de ambos juegos, el programa guardará los tickets obtenidos.

Si eliges Hundir la flota, el programa te dará la opción de leer las instrucciones donde el usuario deberá responder si o no. A continuación, aparece el tablero y el usuario procede a colocar sus barcos introduciendo ambos extremos del mismo, solo valen en posición vertical y horizontal y no se pueden superponer 2 barcos, si la colocación es errónea, el programa vuelve a repetir el proceso. Una vez colocados, empieza el juego con el usuario disparando. ¿Cómo se dispara? Muy fácil, lo único que tienes que hacer es introducir la coordenada que quiere atacar, si no hay ningún barco rival, se cambiará el turno y le tocará disparar al enemigo, pero si alcanza a un barco el turno sigue perteneciendo al propio jugador. Así sucesivamente hasta que alguien conseguir hundir los barcos al rival. Finalmente el sistema te otorga la puntuación en función de si ganas o pierdes y de los disparos que has necesitado y el programa te da la opción de salir(Pulsando cualquier número que no sea 0) o de volver a jugar (Pulsando 0).

También puedes elegir la opción de Trivial. El sistema te da la opción de las instrucciones donde el usuario deberá responder si o no. A continuación, presionas cualquier tecla para jugar y debes de lanzar el dado pulsando la tecla enter. Acto seguido, te aparece la pregunta y debes contestarla en 30 segundos sino, se considerará la respuesta no válida. Después te aparecerá la respuesta correcta y la puntuación correspondiente (10 por pregunta acertada),si fallas, se te restarán 5 puntos.En total son 6 preguntas. Si consigues la friolera de 60 puntos podrás optar a una pregunta extra solo apta para expertos en trivial... ¿Serás capaza de adivinarla? Finalmente el sistema te otorga la puntuación en función de si ganas o pierdes y de los disparos que has necesitado y el programa te da la opción de salir (Pulsando cualquier número que no sea 0) o de volver a jugar (Pulsando 0).

Como cuarta opción para la usuario se encuentra la tienda. Al entrar a esta opción aparecerá un listado de todos los premios posibles acompañados de los tickets necesarios para obtenerlos. El usuario tan solo tiene que escribir correctamente el producto y el sistema se lo concederá después de preguntar si está seguro, siempre y cuando tenga los tickets suficientes. Cuando el usuario quiera salir, lo único que tiene que hacer es escribir "fin".

Por último si el usuario ya ha disfrutado a raudales del juego, con la quinta opción podrá salir del juego.

Funciones implementadas, sus prototipos y organización:

Como se puede comprobar sin ningún tipo de problema, el programa está dividido principalmente en tres minijuegos: Cifras y letras,Hundir la flota y Trivial. Esta forma de organizar el trabajo fue pensada para una mayor precisión en cada parte del código y una mejor organización a la hora de estructurar el programa. Cada componente del equipo se ha encargado personalmente de cada juego y las partes generales, como el diagrama de flujo o esta misma wiki, han sido repartidas equitativamente para que cada uno tengo la misma cantidad de trabajo y se centre en el éxito de cada parte para un resultado final exitoso. Más en concreto, David Abad se ha encargado del Trivial, de la tienda, del menú y de los ajustes generales, Alejandro Sacristán se ha encargado del Cifras y letras, de la Wiki y del diagrama de flujo, finalmente Raúl Herranz se ha hecho cargo del Hundir la flota, del logo del programa y se ha encargado de la estética en el código.

El main del código está principalmente formado por 4 funciones: int cifrasyletras(int *tickets),int hundirlaflota(int *tickets),int trivial(int *tickets),void tienda(int *tickets). Una con cada juego y la opción de tienda. No obstante, cada función tiene dentro sus propias funciones. Otra función global es la de int instrucciones() cuya función es mostrar las instrucciones si el usuario lo desea, también están las funciones globales void listanimales() y void listatienda() que permiten modificar a los administradores los ficheros tienda.txt y animales.txt. A continuación podemos encontrar funciones para escribir letras con delay int imprime(char frase[], int s, int e), generar números aleatorios dentro de un intervalo que escribimos como imput int numal(int num1, int num2) y una función void semilla() para no generar siempre los mismos números aleatorios. Dentro del cifras y letras existen funciones para generar consonantes y vocales al azar, generar las puntuaciones en ambos juegos, comprobar que los números y operadores introducidos son correctos, comprobar que los animales existen, comprobar que las letras pertenecen al vector de letras disponibles, una calculadora para operar, comprobar que el número obtenido es el ganador.. En el trivial, existen 6 vectores de estructuras (una por cada categoría) que sirven para almacenar y clasificar las preguntas.Las funciones se encargan de: comprobar que la solución es la correcta y dar puntuación en función de ello siempre y cuando esté dentro del tiempo, para comprobar que la pregunta no es repetida, para "lanzar el dado"... Y finalmente en el hundir la flota hay funciones para que la máquina dispare al azar, para que el jugador dispare (estas funciones abarcan todas las opciones que pueden pasar al disparar ya sea al agua, dando a un barco o hundiéndolo), para ver el tablero como una matriz y sea todo mucho más realista, para generar barcos al azar, para comprobar que la colocación de barcos del usuario es correcta y posible, para la animación del disparo y para generar la puntuación. Todas las funciones en el código están comentadas para ver y comprender qué realiza cada una.

Ficheros:

El programa está formado por diversos archivos, entre ellos, tres ficheros con extensión .txt. Ellos son: animales.txt, usuarios.txt y tienda.txt. Cada fichero tiene su función imprescindible en el transcurso del programa.

Para empezar, el fichero tienda.txt, es un fichero que contiene la opción tienda del programa. Esta opción, a la que puedes acceder desde el menú, te permite canjear los puntos conseguidos en los tres minijuegos a lo largo de tus partidas por premios disponibles como por ejemplo un llavero o una pelota saltarina. Utilizanco una función en el archivo .c, el programa detecta mediante un gets() el premio que solicita el jugador y si coincide con el premio introducido anteriormente en el fichero, que lo detecta entre ; con un fscanf, podrá conseguirlo siempre y cuando tenga los puntos suficientes para adquirirlo.

Como usuario puedes ir acumulando puntos a medida que vas jugando y ganando juegos pero, ¿y si tienes que parar para descansar o tienes algo que hacer? No te preocupes porque el fichero usuarios.txt guarda tu nombre de usuario y acumula la puntuación que vas consiguiendo a lo largo de tu aventura. Al abrir el juego, basta con que introduzcas el mismo nombre de usuario y ahí tendrás disponible tu puntuación para poder canjearla o ahorrarla, lo que el usuario prefiera. ¿Cómo se consigue esto? El usuario introduce un nombre al empezar el juego y el programa lo introduce al fichero usuarios.txt y lo almacena. La próxima vez que el usuario quiera acceder y el programa detecte que el nombre coincide con el nombre introducido anteriormente en el fichero, conservara su puntuación intacta.

Por último, el fichero animales.txt realiza una función vital en este caso para el juego de: cifras y letras. Si eliges la opción de las letras, el juego consiste en introducir nombres de animales con letras generadas al azar. No obstante, almacenar todos los animales existentes es algo complicado, pero gracias a este fichero se convierte en algo más accesible. Mediante un programa .c realizado aparte, mediante un bucle while (strcmp(animal)!="fin") el administrador introduce animales que se van escribiendo en el fichero separados por ;. Finalmente en una función del proyecto principal el programa compara el animal introducido por el usuario con los animales del fichero y si coinciden, el animal es válido, sino, el animal no es aceptado y tienes que seguir intentándolo.

Esto es todo lo que deberías de saber acerca del programa, sólo nos queda desearos que disfrutéis usándolo y que cualquier especificación que no venga explicada aquí en la wiki, está especificada en el propio programa. Disfrutad y un buen saludo de parte de Maccabi Studios!

Clone this wiki locally