private void CheckForWinner() //Revisa que los colores de las imagenes y el fondo NO sean iguales
        {
            // Go through all of the labels in the TableLayoutPanel,
            // checking each one to see if its icon is matched
            foreach (Control control in tableLayoutPanel1erGrado.Controls)
            {
                Label iconLabel = control as Label;

                if (iconLabel != null)
                {
                    //Para que solo se gane cuando el tablero esté vacío
                    if (iconLabel.ForeColor != iconLabel.BackColor)
                    {
                        return;
                    }
                }
            }

            // If the loop didn’t return, it didn't find
            // any unmatched icons
            // That means the user won. Show a message and close the form
            sonidos.sonidoTerminarBien();
            MyMsgBox.Show("YOU MATCHED ALL THE WORDS!", ":)", "OK");
            InitializeComponent();
            m1grado = new Menu1erGrado();
            m1grado.Show();
            this.Hide();
            return;
        }
        //Que esto ocurra siempre que el juego inicie y cuando se confirme que una respuesta es correcta
        private void asignarPregYResp()
        {
            sameBackColor();

            if (i + 1 < questions.Length)
            {
                i++;
            }
            else
            {
                if (score > 6)
                {
                    sonidos.sonidoTerminarBien();
                }
                else
                {
                    sonidos.sonidoTerminar();
                }
                MyMsgBox.Show("FINISH!\nFinal score: " + +score + " / " + questions.Length.ToString(), "", "OK");
                InitializeComponent();
                m1er = new Menu1erGrado();
                m1er.Show();
                this.Hide();
                return;
            }

            KeyValuePair <string[], int> pair;

            labelQuant.Text = (i + 1).ToString() + " / " + questions.Length.ToString() +
                              "                  Score: " + score + " / " + questions.Length.ToString();

            labelQuestion.Text = questions[i];
            Image im = imageList1.Images[i]; //La imagen de la lista de imagenes

            labelQuestion.Image = im;
            int    cant;
            Random rand = new Random();

            numbers = new int[4] {
                0, 1, 2, 3
            };
            pair = allAnswers.ElementAt(i);
            labelAnswer1.Text = pair.Key[numbers[cant = rand.Next(0, numbers.Length)]];
            numbers           = numbers.Where(w => w != numbers[cant]).ToArray();
            labelAnswer2.Text = pair.Key[numbers[cant = rand.Next(0, numbers.Length)]];
            numbers           = numbers.Where(w => w != numbers[cant]).ToArray();
            labelAnswer3.Text = pair.Key[numbers[cant = rand.Next(0, numbers.Length)]];
            numbers           = numbers.Where(w => w != numbers[cant]).ToArray();
            labelAnswer4.Text = pair.Key[numbers[cant = rand.Next(0, numbers.Length)]];
            //numbers = numbers.Where(w => w != numbers[cant]).ToArray();

            /*
             * Image ima = Image.FromFile("image.png"); // read in image
             * ilabel.Size = new Size(i.Width, i.Height); //set label to correct size
             * ilabel.Image = i; // put image on label
             * this.Controls.Add(ilabel); // add label to container (a form, for instance)
             */

            labelNext.Visible = false;
        }
示例#3
0
 public static DialogResult Show(string Text, string Caption, string btnOK)
 {
     MsgBox              = new MyMsgBox();
     MsgBox.label1.Text  = Text;
     MsgBox.button1.Text = btnOK;
     MsgBox.Text         = Caption;
     result              = DialogResult.No;
     MsgBox.ShowDialog();
     return(result);
 }
        //Que esto ocurra siempre que el juego inicie y cuando se confirme que una respuesta es correcta
        private void asignarPregYResp()
        {
            sameBackColor();

            if (i + 1 < questions.Length)
            {
                i++;
            }
            else
            {
                if (score > 6)
                {
                    sonidos.sonidoTerminarBien();
                }
                else
                {
                    sonidos.sonidoTerminar();
                }
                MyMsgBox.Show("FINISH!\nFinal score: " + +score + " / " + questions.Length.ToString(), "", "OK");
                InitializeComponent();
                m2do = new Menu2doGrado();
                m2do.Show();
                this.Hide();
                return;
            }

            KeyValuePair <string[], int> pair;

            labelQuant.Text = (i + 1).ToString() + " / " + questions.Length.ToString() +
                              "                  Score: " + score + " / " + questions.Length.ToString();

            labelQuestion.Text = questions[i];
            Image im = imageList1.Images[i]; //La imagen de la lista de imagenes

            labelQuestion.Image = im;
            int    cant;
            Random rand = new Random();

            numbers = new int[4] {
                0, 1, 2, 3
            };
            pair = allAnswers.ElementAt(i);
            labelAnswer1.Text = pair.Key[numbers[cant = rand.Next(0, numbers.Length)]];
            numbers           = numbers.Where(w => w != numbers[cant]).ToArray();
            labelAnswer2.Text = pair.Key[numbers[cant = rand.Next(0, numbers.Length)]];
            numbers           = numbers.Where(w => w != numbers[cant]).ToArray();
            labelAnswer3.Text = pair.Key[numbers[cant = rand.Next(0, numbers.Length)]];
            numbers           = numbers.Where(w => w != numbers[cant]).ToArray();
            labelAnswer4.Text = pair.Key[numbers[cant = rand.Next(0, numbers.Length)]];
            //numbers = numbers.Where(w => w != numbers[cant]).ToArray();

            labelNext.Visible = false;
        }
        //Cada vez que se tenga que verificar si una respuesta es correcta
        private void labelNext_Click(object sender, EventArgs e)
        {
            if (verResp.Equals(quizAnswers[i])) //REVISAR
            {
                sonidos.sonidoGanarSebastian();
                MyMsgBox.Show("CORRECT!", ":)", "OK");
                score++;
                asignarPregYResp();
            }

            else
            {
                sonidos.sonidoPerderSebastian();
                MyMsgBox.Show("Incorrect...\nCorrect answer: " + quizAnswers[i], ":(", "OK");
                asignarPregYResp();
            }
        }
示例#6
0
        //Se actualiza el numero de palabras completadas, el numero de errores,
        //los colores de las letras y se verifica si se completó la palabra
        private void updateInfo(String letter)
        {
            //Si es la letra que sigue para completar (opcion correcta)
            if (letter == System.Convert.ToString(word[numLetra]))
            {
                //Sonido de exito (quitarlo?)
                //sonidos.sonidoGanarSebastian();
                //Sonido de la letra
                synthesizer.Speak(letter);
                //Pasa a la siguiente letra en la lista
                numLetra++;

                int wordSize = word.Length;
                //Si ya se completó la palabra
                if (numLetra == wordSize)
                {
                    score++;

                    synthesizer.Speak(word);
                    //System.Threading.Thread.Sleep(500);

                    //Si se completaron todas las palabras, popup de victoria y de vuelta al menu principal
                    if (score == 5)
                    {
                        labelInfo.Text = score + "/5 words completed            Mistakes: " + mistakes;
                        sonidos.sonidoTerminarBien();

                        MyMsgBox.Show("CONGRATULATIONS!\nYou completed all the words!", ":)", "OK");
                        InitializeComponent();
                        m1er = new Menu1erGrado();
                        m1er.Show();
                        this.Hide();
                        return;
                    }

                    setValues();
                }
                else
                {
                    Control label;
                    //Cambiar color de la letra recien completada y de la que sigue si faltan
                    for (int i = 0; i < wordSize; i++)
                    {
                        label = tableLayoutPanelLetters.GetControlFromPosition(i, 0);
                        if (label is Label)
                        {
                            //Si es la letra siguiente a completar, color azul
                            if (i == numLetra)
                            {
                                label.Text      = System.Convert.ToString(word[i]);
                                label.ForeColor = System.Drawing.Color.Blue;
                            }
                            //Si la letra ya fue completada, color verde
                            else if (i < numLetra)
                            {
                                label.Text      = System.Convert.ToString(word[i]);
                                label.ForeColor = System.Drawing.Color.Green;
                            }
                            //Si la letra falta de completar pero no es la siguiente, negra
                            //(CREO QUE ESTA NO SE OCUPA)
                            else
                            {
                                label.Text      = System.Convert.ToString(word[i]);
                                label.ForeColor = System.Drawing.Color.Black;
                            }
                        }
                    }
                    changeOptionsInButtons();
                }
            }
            else
            {
                //Sonido de fracaso
                sonidos.sonidoPerderSebastian();
                mistakes++;
            }

            //El juego se gana completando 5 palabras
            labelInfo.Text = score + "/5 words completed            Mistakes: " + mistakes;
        }