예제 #1
0
        public void mostrar()
        {
            Random rn = new Random();

            pictureBoxRespuesta.Image = null;
            if (contador < parejas.Count && fallos < 3)
            {
                iactual = rn.Next(0, parejas.Count);
                while (iParejasUsadas.Contains(iactual))
                {
                    iactual = rn.Next(0, parejas.Count);
                }
                iParejasUsadas.Add(iactual);
                label1.Text = parejas[parejas.ElementAt(iactual).Key];
            }
            else   //fin de juego
            {
                if (fallos < 3)
                {
                    mensaje.winMesaje();
                    sonido.sonidoGanar();
                }
                else
                {
                    mensaje.looseMesaje();
                    sonido.sonidoPerder();
                }
                iParejasUsadas.Clear();
                contador           = 0;
                fallos             = 0;
                label1.Text        = ".  .   .   .";
                playButton.Visible = true;
            }
        }
예제 #2
0
        public void asignar()
        {
            Random rn  = new Random();
            int    key = 0;

            pictureBoxRespuesta.Image = null;
            if (contador < enfermedades.Count && fallos < 3)
            {
                key = rn.Next(0, imageListEnfermedades.Images.Count);
                while (keysUsadas.Contains(key))
                {
                    key = rn.Next(0, imageListEnfermedades.Images.Count);
                }

                keysUsadas.Add(key);
                imagenActual      = key;
                pictureBox1.Image = imageListEnfermedades.Images[key];
                //opciones
                //para que no se repitan se hace una lista provicional llamada opciones
                List <int> opciones;
                opciones = new List <int>();
                int o = rn.Next(0, enfermedades.Count);
                for (int i = 0; i < 4; i++)
                {
                    while (opciones.Contains(o) || o == key)
                    {
                        o = rn.Next(0, enfermedades.Count);
                    }
                    opciones.Add(o);
                }
                o1.Text = enfermedades[opciones[0]];                         //cualquier string
                o2.Text = enfermedades[opciones[1]];                         //cualquier string
                o3.Text = enfermedades[opciones[2]];                         //cualquier string
                o4.Text = enfermedades[opciones[3]];                         //cualquier string
                botones[rn.Next(0, botones.Count)].Text = enfermedades[key]; //el string elegido
            }
            else
            {
                //MessageBox.Show("Game over :)");
                if (fallos < 3)
                {
                    mensaje.winMesaje();
                    sonidos.sonidoGanar();
                }
                else
                {
                    mensaje.looseMesaje();
                    sonidos.sonidoPerder();
                }
                finalizarPartida();
            }
        }
예제 #3
0
        private void pictureBox1_Click(object sender, EventArgs e)
        {
            // picturebox para todos
            PictureBox actual = sender as PictureBox;
            Image      i      = actual.Image;

            if (i == parejas[sonidoActual])
            {
                //MessageBox.Show("Correct answer");
                labelAnswer.Text          = palabras[sonidoActual];
                pictureBoxRespuesta.Image = Properties.Resources.check;
                Task taskA = Task.Factory.StartNew(() => imagenRespuesta());
                taskA.Wait();
                pictureBoxRespuesta.Image = null;
                labelAnswer.Text          = " ";
                contador++;
                if (contador == 5) // ya se acabo la ronda
                {
                    rondas++;
                    contador = 0;
                    sonidosAsignados.Clear();
                    if (rondas == 3)
                    {
                        //MessageBox.Show("Congratulations!! Play the next level");
                        mensaje.winMesaje();
                        csonidos.sonidoGanar();
                        siguienteNivel();
                    }
                    else
                    {
                        asignar();
                    }
                }
                else
                {
                    sonidoActual = sonidosAsignados[contador];
                }
            }
            else
            {
                //MessageBox.Show("Bad answer");
                pictureBoxRespuesta.Image = Properties.Resources.equis;
                Task taskA = Task.Factory.StartNew(() => imagenRespuesta());
                taskA.Wait();
                labelAnswer.Text          = " ";
                pictureBoxRespuesta.Image = null;
            }
        }
예제 #4
0
        private void pictureBoxon_Click(object sender, EventArgs e)
        {
            //metodo que comprueba respuesta corresta
            PictureBox actual = sender as PictureBox;

            if (pboxList[boxActual] == actual)
            {
                //MessageBox.Show("Correct answer");
                labelAnswer.Text          = palabras[((Bitmap)actual.Image)];
                pictureBoxRespuesta.Image = Properties.Resources.check;
                Task taskA = Task.Factory.StartNew(() => imagenRespuesta());
                taskA.Wait();
                pictureBoxRespuesta.Image = null;
                labelAnswer.Text          = " ";
                boxActual++;
                if (boxActual == 7) // ya se acabo la ronda
                {
                    rondas++;
                    boxActual = 0;
                    ordenpBox.Clear();
                    sAsignados.Clear();
                    iAsignadas.Clear();
                    if (rondas == 3)
                    {
                        //MessageBox.Show("Congratulations!! Play the next level");
                        mensaje.winMesaje();
                        sonidos.sonidoGanar();
                    }
                    else
                    {
                        asignar();
                    }
                }
            }
            else
            {
                //MessageBox.Show("Bad answer");
                pictureBoxRespuesta.Image = Properties.Resources.equis;
                Task taskA = Task.Factory.StartNew(() => imagenRespuesta());
                taskA.Wait();
                labelAnswer.Text          = " ";
                pictureBoxRespuesta.Image = null;
            }
        }
예제 #5
0
        private void mostrarPregunta()
        {
            Random rn = new Random();

            if (contador < preguntasRespuestas.Count)
            {
                actual = rn.Next(0, preguntasRespuestas.Count);
                while (usadas.Contains(actual))
                {
                    actual = rn.Next(0, preguntasRespuestas.Count);
                }
                usadas.Add(actual);
                labelquestion.Text = preguntasRespuestas.ElementAt(actual).Key;

                int butones = rn.Next(0, 2);
                if (butones == 0)
                {
                    o1.Text = preguntasRespuestas[preguntasRespuestas.ElementAt(actual).Key];
                    o2.Text = preguntasRespuestas[preguntasRespuestas.ElementAt(rn.Next(0, preguntasRespuestas.Count)).Key];
                }
                else
                {
                    o2.Text = preguntasRespuestas[preguntasRespuestas.ElementAt(actual).Key];
                    o1.Text = preguntasRespuestas[preguntasRespuestas.ElementAt(rn.Next(0, preguntasRespuestas.Count)).Key];
                }
            }
            else
            {
                //MessageBox.Show("Game over :)");
                mensaje.winMesaje();
                sonidos.sonidoGanar();
                contador = 0;
                o1.Text  = "";
                o2.Text  = "";
            }
        }
예제 #6
0
        public void mostrar()
        {
            Random rn = new Random();

            pictureBoxRespuesta.Image = null;

            if (contadorRecomendaciones <= 7 && fallos < 3)
            {
                eActual = rn.Next(0, 8);
                while (usadas.Contains(eActual))
                {
                    eActual = rn.Next(0, 8);
                }
                usadas.Add(eActual);
                label1.Text = enfermedades[eActual];
                try
                {
                    enfermedades_audios[eActual].Play();
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Error " + ex.Message);
                }

                //respuesta incorrecta
                int resIncorrecta = rn.Next(0, 8);
                while (resIncorrecta == eActual)
                {
                    resIncorrecta = rn.Next(0, 8);
                }

                int r = rn.Next(0, 2);
                if (r == 0)
                {
                    o1.Text = recomendaciones[enfermedades[eActual]];
                    o3.Text = recomendaciones[enfermedades[resIncorrecta]];
                }
                else
                {
                    o3.Text = recomendaciones[enfermedades[eActual]];
                    o1.Text = recomendaciones[enfermedades[resIncorrecta]];
                }
                //mostrar imagen de enfermedad
                pictureBox1.Image = imageListEnfermedades.Images[eActual];
            }
            else
            {
                if (fallos < 3)
                {
                    mensaje.winMesaje();
                    sonidos.sonidoGanar();
                }
                else
                {
                    mensaje.looseMesaje();
                    sonidos.sonidoPerder();
                }
                contadorRecomendaciones = 0;
                usadas.Clear();
                play               = false;
                o1.Text            = "";
                o3.Text            = "";
                playButton.Visible = true;
                fallos             = 0;
            }
        }
예제 #7
0
        private void validar()
        {
            contador++;
            List <String> l         = respuestas[imagenA];
            bool          resultado = false;

            if (l.Contains(respuesta) && l != timeGreetings)
            {
                resultado = true;
            }
            if (imagenA < 5)
            { //saludo de tiempo
                if (imagenA < 3)
                {
                    if (respuesta == "Good Night" || respuesta == "Good Evening")
                    {
                        resultado = true;
                    }
                }
                if (imagenA == 3 && respuesta == "Good Morning")
                {
                    resultado = true;
                }
                if (imagenA == 4 && respuesta == "Good Afternoon")
                {
                    resultado = true;
                }
            }

            if (resultado == true)
            {
                // "correct answer";
                pictureBoxRespuesta.Image = Properties.Resources.check;
                playAnswer(respuesta);
                Task taskA = Task.Factory.StartNew(() => imagenRespuesta());
                taskA.Wait();
            }
            else
            {
                //"fail";
                pictureBoxRespuesta.Image = Properties.Resources.equis;
                sonidos.sonidoPerderSebastian();
                Task taskA = Task.Factory.StartNew(() => imagenRespuesta());
                taskA.Wait();

                fallos += 1;
            }

            if (contador < 10 && fallos < 3)
            {
                mostrarImagen();
            }
            else
            {
                imostradas.Clear();
                String res = "";
                if (fallos == 3)
                {
                    //res = "You Lose , try again!";
                    mensaje.looseMesaje();
                    sonidos.sonidoPerder();
                }
                else
                {
                    //res = "Congratulations!";
                    mensaje.winMesaje();
                    sonidos.sonidoGanar();
                }

                playButton.Visible = true;
                o1.Text            = "";
                o2.Text            = "";
                o3.Text            = "";
                o4.Text            = "";
                contador           = 0;
                fallos             = 0;
            }
        }
예제 #8
0
        private void validar()
        {
            String respuesta = "";
            SortedList <int, Label> labelsres = new SortedList <int, Label>();

            foreach (Label l in labels)
            {
                if (l.Location.Y == (ypanel + 50))   // si fueron elegidas como respuestas
                {
                    int coord = l.Location.X;
                    labelsres.Add(coord, l);
                }
            }

            foreach (KeyValuePair <int, Label> p in labelsres)
            {
                Label var = p.Value;
                respuesta += var.Text;
                respuesta += " ";
            }

            if (respuesta.Equals(frases[fraseA]))
            {
                //correcta
                pictureBoxRespuesta.Image = Properties.Resources.check;
                Task taskA = Task.Factory.StartNew(() => imagenRespuesta());
                taskA.Wait();
            }
            else
            {
                //mala
                pictureBoxRespuesta.Image = Properties.Resources.equis;
                Task taskA = Task.Factory.StartNew(() => imagenRespuesta());
                taskA.Wait();


                fallos += 1;
            }
            //notificacion de buena o mala respuesta

            intentos += 1;

            if (intentos < 10 && fallos < 3)
            {
                mostrar();
            }
            else
            {
                if (fallos >= 3)
                {
                    mensaje.looseMesaje();
                    sonidos.sonidoPerder();
                }
                else
                {
                    mensaje.winMesaje();
                    sonidos.sonidoGanar();
                }


                finalizarPartida();
            }
        }