Exemple #1
0
        // Cierra el formulario y abre FormGestorPreguntes
        private void pictureBoxSiguiente_Click(object sender, EventArgs e)
        {
            // Si el contenido es correcto
            if (Metodo.revisarContenido(textBoxContenido.Text))
            {
                // Guarda el contenido en este planeta
                this.planeta.contenido = textBoxContenido.Text;

                // Instancia un formulario con el planeta editado
                FormGestorPreguntes gestorPreguntes = new FormGestorPreguntes(this.planeta);

                // Esconde este formulario
                this.Hide();

                // Muestra el formulario
                gestorPreguntes.ShowDialog();

                // Cierra este formulario
                this.Close();
            }
            else
            {
                MessageBox.Show("Introdueix un contingut per continuar", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                textBoxContenido.Focus();
            }
        }
Exemple #2
0
        /// <summary>
        /// Devuelve true si todos los planetas y personajes tienen un contenido valido
        /// </summary>
        /// <returns></returns>
        private bool ContenidoExistente()
        {
            // Guarda el resultado de la revision
            bool planetasOk = false, personajesOK = false, retorno = false;
            // recorren bucles
            byte i = 0, j = 0;


            // Recorre planetas
            while (i < MAX_PLANETAS)
            {
                // Si algun planeta no tiene un contenido valido
                if (!Metodo.revisarContenido(planetas[i].contenido))
                {
                    // La variable se niega y sale del bucle
                    planetasOk = false;
                    i          = MAX_PLANETAS;
                }
                else
                {
                    planetasOk = true;
                }

                i++;
            }

            // Recorre personajes
            while (j < MAX_PERSONAJES)
            {
                if (!(Metodo.revisarContenido(listaPersonajes[j].nom) &&
                      Metodo.revisarContenido(listaPersonajes[j].frase) &&
                      Metodo.revisarContenido(Personaje.rutaImagen1) &&
                      Metodo.revisarContenido(Personaje.rutaImagen2) &&
                      Metodo.revisarContenido(Personaje.rutaImagen3)))
                {
                    // La variable se niega y sale del bucle
                    personajesOK = false;
                    i            = MAX_PLANETAS;
                }
                else
                {
                    personajesOK = true;
                }

                j++;
            }

            // si las dos comprobaciones anteriores han ido bien
            if (planetasOk && personajesOK)
            {
                // El retorno sera true
                retorno = true;
            }

            // Retorna el retorno
            return(retorno);
        }
Exemple #3
0
        /***
         *     ██████╗ ██████╗ ███╗   ██╗███████╗████████╗██████╗ ██╗   ██╗ ██████╗████████╗ ██████╗ ██████╗ ███████╗███████╗
         *    ██╔════╝██╔═══██╗████╗  ██║██╔════╝╚══██╔══╝██╔══██╗██║   ██║██╔════╝╚══██╔══╝██╔═══██╗██╔══██╗██╔════╝██╔════╝
         *    ██║     ██║   ██║██╔██╗ ██║███████╗   ██║   ██████╔╝██║   ██║██║        ██║   ██║   ██║██████╔╝█████╗  ███████╗
         *    ██║     ██║   ██║██║╚██╗██║╚════██║   ██║   ██╔══██╗██║   ██║██║        ██║   ██║   ██║██╔══██╗██╔══╝  ╚════██║
         *    ╚██████╗╚██████╔╝██║ ╚████║███████║   ██║   ██║  ██║╚██████╔╝╚██████╗   ██║   ╚██████╔╝██║  ██║███████╗███████║
         *     ╚═════╝ ╚═════╝ ╚═╝  ╚═══╝╚══════╝   ╚═╝   ╚═╝  ╚═╝ ╚═════╝  ╚═════╝   ╚═╝    ╚═════╝ ╚═╝  ╚═╝╚══════╝╚══════╝
         *
         */

        //Recibe un planeta desde menu principal
        public FormGestorContingut(Planeta planeta)
        {
            InitializeComponent();

            // Asigna el planeta recibido por parámetro al planeta de este form
            this.planeta = planeta;

            // Si el planeta recibido tiene un contenido
            if (Metodo.revisarContenido(planeta.contenido))
            {
                // lo muestra en el textbox
                textBoxContenido.Text = planeta.contenido;
            }
        }
Exemple #4
0
        /***
         *     ██████╗ ██████╗ ███╗   ██╗███████╗████████╗██████╗ ██╗   ██╗ ██████╗████████╗ ██████╗ ██████╗ ███████╗███████╗
         *    ██╔════╝██╔═══██╗████╗  ██║██╔════╝╚══██╔══╝██╔══██╗██║   ██║██╔════╝╚══██╔══╝██╔═══██╗██╔══██╗██╔════╝██╔════╝
         *    ██║     ██║   ██║██╔██╗ ██║███████╗   ██║   ██████╔╝██║   ██║██║        ██║   ██║   ██║██████╔╝█████╗  ███████╗
         *    ██║     ██║   ██║██║╚██╗██║╚════██║   ██║   ██╔══██╗██║   ██║██║        ██║   ██║   ██║██╔══██╗██╔══╝  ╚════██║
         *    ╚██████╗╚██████╔╝██║ ╚████║███████║   ██║   ██║  ██║╚██████╔╝╚██████╗   ██║   ╚██████╔╝██║  ██║███████╗███████║
         *     ╚═════╝ ╚═════╝ ╚═╝  ╚═══╝╚══════╝   ╚═╝   ╚═╝  ╚═╝ ╚═════╝  ╚═════╝   ╚═╝    ╚═════╝ ╚═╝  ╚═╝╚══════╝╚══════╝
         *
         */

        // Constructor del formulario
        public FormGestorPreguntes(Planeta planeta)
        {
            InitializeComponent();

            this.planeta = planeta;

            // Si el planeta recibido ya contiene preguntas, se agregan a la lista
            try
            {
                for (int i = 0; i < planeta.preguntas.Count; i++)
                {
                    // Añade las preguntas a la lista
                    listaPreguntas.Add(planeta.preguntas[i]);

                    // Borra la primera pregunta si viene vacía
                    if (!Metodo.revisarContenido(listaPreguntas[0].pregunta))
                    {
                        listaPreguntas.RemoveAt(0);
                    }
                }

                refrescarListBox();
            }catch (Exception) {}
        }
Exemple #5
0
        /// <summary>
        /// Hace dos cosas:
        ///     Da color a aquellos planetas que contengan almenos 1 pregunta
        ///     Al cambiar de idioma cambia la imagen de la bandera correspondiente
        /// </summary>
        /// <param name="idioma"></param>
        private void colorPlanetas(int idioma)
        {
            switch (idioma)
            {
            case 0:
                // Cambia la imagen y hace el control visible
                pictureBoxBandera.Image   = SerializarJSON.Properties.Resources.cat;
                pictureBoxBandera.Visible = true;

                if (planetas[0].preguntas.Count > 0 && Metodo.revisarContenido(planetas[0].preguntas[0].pregunta))
                {
                    // Cambia el planeta a color
                    pictureBoxPlaneta1.Image = SerializarJSON.Properties.Resources.Planeta1true;
                }
                else
                {
                    // Quita el color del planeta
                    pictureBoxPlaneta1.Image = SerializarJSON.Properties.Resources.Planeta1false;
                }
                if (planetas[1].preguntas.Count > 0 && Metodo.revisarContenido(planetas[1].preguntas[0].pregunta))
                {
                    // Cambia el planeta a color
                    pictureBoxPlaneta2.Image = SerializarJSON.Properties.Resources.planeta2true;
                }
                else
                {
                    // Quita el color del planeta
                    pictureBoxPlaneta2.Image = SerializarJSON.Properties.Resources.planeta2false;
                }
                if (planetas[2].preguntas.Count > 0 && Metodo.revisarContenido(planetas[2].preguntas[0].pregunta))
                {
                    // Cambia el planeta a color
                    pictureBoxPlaneta3.Image = SerializarJSON.Properties.Resources.planeta3true;
                }
                else
                {
                    // Quita el color del planeta
                    pictureBoxPlaneta3.Image = SerializarJSON.Properties.Resources.planeta3false;
                }

                break;

            case 1:
                // Cambia la imagen y hace el control visible
                pictureBoxBandera.Image   = SerializarJSON.Properties.Resources.esp;
                pictureBoxBandera.Visible = true;
                if (planetas[3].preguntas.Count > 0 && Metodo.revisarContenido(planetas[3].preguntas[0].pregunta))
                {
                    // Cambia el planeta a color
                    pictureBoxPlaneta1.Image = SerializarJSON.Properties.Resources.Planeta1true;
                }
                else
                {
                    // Quita el color del planeta
                    pictureBoxPlaneta1.Image = SerializarJSON.Properties.Resources.Planeta1false;
                }
                if (planetas[4].preguntas.Count > 0 && Metodo.revisarContenido(planetas[4].preguntas[0].pregunta))
                {
                    // Cambia el planeta a color
                    pictureBoxPlaneta2.Image = SerializarJSON.Properties.Resources.planeta2true;
                }
                else
                {
                    // Quita el color del planeta
                    pictureBoxPlaneta2.Image = SerializarJSON.Properties.Resources.planeta2false;
                }
                if (planetas[5].preguntas.Count > 0 && Metodo.revisarContenido(planetas[5].preguntas[0].pregunta))
                {
                    // Cambia el planeta a color
                    pictureBoxPlaneta3.Image = SerializarJSON.Properties.Resources.planeta3true;
                }
                else
                {
                    // Quita el color del planeta
                    pictureBoxPlaneta3.Image = SerializarJSON.Properties.Resources.planeta3false;
                }
                break;

            case 2:
                // Cambia la imagen y hace el control visible
                pictureBoxBandera.Image   = SerializarJSON.Properties.Resources.eng;
                pictureBoxBandera.Visible = true;

                if (planetas[6].preguntas.Count > 0 && Metodo.revisarContenido(planetas[6].preguntas[0].pregunta))
                {
                    // Cambia el planeta a color
                    pictureBoxPlaneta1.Image = SerializarJSON.Properties.Resources.Planeta1true;
                }
                else
                {
                    // Quita el color del planeta
                    pictureBoxPlaneta1.Image = SerializarJSON.Properties.Resources.Planeta1false;
                }
                if (planetas[7].preguntas.Count > 0 && Metodo.revisarContenido(planetas[7].preguntas[0].pregunta))
                {
                    // Cambia el planeta a color
                    pictureBoxPlaneta2.Image = SerializarJSON.Properties.Resources.planeta2true;
                }
                else
                {
                    // Quita el color del planeta
                    pictureBoxPlaneta2.Image = SerializarJSON.Properties.Resources.planeta2false;
                }
                if (planetas[8].preguntas.Count > 0 && Metodo.revisarContenido(planetas[8].preguntas[0].pregunta))
                {
                    // Cambia el planeta a color
                    pictureBoxPlaneta3.Image = SerializarJSON.Properties.Resources.planeta3true;
                }
                else
                {
                    // Quita el color del planeta
                    pictureBoxPlaneta3.Image = SerializarJSON.Properties.Resources.planeta3false;
                }
                break;
            }
        }
Exemple #6
0
        /*    EVENTOS
         *    ███████╗██╗   ██╗ ███████╗ ███╗   ██╗████████╗ ██████╗  ███████╗
         *    ██╔════╝██║   ██║ ██╔════╝ ████╗  ██║╚══██╔══╝██╔═══██╗ ██╔════╝
         *    █████╗  ██║   ██║ █████╗   ██╔██╗ ██║   ██║   ██║   ██║ ███████╗
         *    ██╔══╝  ╚██╗ ██╔╝ ██╔══╝   ██║╚██╗██║   ██║   ██║   ██║ ╚════██║
         *    ███████╗ ╚████╔╝  ███████╗ ██║ ╚████║   ██║   ╚██████╔╝ ███████║
         *    ╚══════╝  ╚═══╝   ╚══════╝ ╚═╝  ╚═══╝   ╚═╝    ╚═════╝  ╚══════╝
         */

        // Guardar y añadir a la listbox
        private void pictureBoxGuardar_Click(object sender, EventArgs e)
        {
            // Guarda las respuestas de los textbox en una lista para ser verificadas
            List <String> respuestasTextBoxs = new List <string>();

            respuestasTextBoxs.Add(textBoxResposta1.Text);
            respuestasTextBoxs.Add(textBoxResposta2.Text);
            if (nRespostes == 3)
            {
                respuestasTextBoxs.Add(textBoxResposta3.Text);
            }
            else if (nRespostes == 4)
            {
                respuestasTextBoxs.Add(textBoxResposta3.Text);
                respuestasTextBoxs.Add(textBoxResposta4.Text);
            }


            bool formularioCorrecto = false;

            // Comprueba que se haya introducido una pregunta
            if (Metodo.revisarContenido(textBoxPregunta.Text))
            {
                // Comprueba que no haya ninguna pregunta repetida
                if (Metodo.preguntaRepetida(textBoxPregunta.Text, listaPreguntas))
                {
                    // Comprueba que no falte por marcar algun radioButton
                    if (radioCheck())
                    {
                        // Comprueba que se hayan introducido las respuestas
                        if (Metodo.revisarContenido(respuestasTextBoxs))
                        {
                            formularioCorrecto = true;
                        }
                        else
                        {
                            //Error
                            MessageBox.Show("Introdueix la resposta que falta", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                }
                else
                {
                    //Error
                    MessageBox.Show("Aquesta pregunta ja existeix", "Pregunta duplicada", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    textBoxPregunta.Focus();
                }
            }
            else
            {
                //Error
                MessageBox.Show("Escriu una pregunta", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                textBoxPregunta.Focus();
            }

            // Si se han pasado todas las comprobaciones
            if (formularioCorrecto)
            {
                // Lista para guardar 4 respuestas
                List <Respuesta> listaRespuestas = new List <Respuesta>();

                // Vacia la lista de respuestas
                listaRespuestas.Clear();

                // Instancia tantas respuestas como textBoxs haya activado el usuario
                // Después las añade a la lista
                Respuesta a = new Respuesta(textBoxResposta1.Text, radioButtonA.Checked);
                Respuesta b = new Respuesta(textBoxResposta2.Text, radioButtonB.Checked);
                listaRespuestas.Add(a);
                listaRespuestas.Add(b);
                if (nRespostes == 3)
                {
                    Respuesta c = new Respuesta(textBoxResposta3.Text, radioButtonC.Checked);
                    listaRespuestas.Add(c);
                }
                else if (nRespostes == 4)
                {
                    Respuesta c = new Respuesta(textBoxResposta3.Text, radioButtonC.Checked);
                    Respuesta d = new Respuesta(textBoxResposta4.Text, radioButtonD.Checked);
                    listaRespuestas.Add(c);
                    listaRespuestas.Add(d);
                }

                // Instancia pregunta y la añade a la lista de preguntas
                Pregunta pregunta = new Pregunta(textBoxPregunta.Text, listaRespuestas, !radioButtonFacil.Checked);
                listaPreguntas.Add(pregunta);

                //Añade al listBox el nuevo contenido
                refrescarListBox();

                //Limpia todos los campos para rellenar de nuevo el formulario
                limpiarCampos();
            }
        }