Esempio n. 1
0
        private void button_newgame_Click(object sender, EventArgs e)
        {
            partida_completa = false;
            Random dado   = new Random();
            int    x      = 39;
            int    y      = 370;
            int    pistas = -1;

            //Reiniciamos los intentos
            intentos = 6;
            cambiarImagenAhorcado();
            button_comprobar.Enabled  = true;
            textBox_letrasUsadas.Text = "";

            //Comprobamos la dificultad actual
            if (comboBox_dificultad.Text.Equals("Fácil"))
            {
                pistas = 2;
            }
            else if (comboBox_dificultad.Text.Equals("Intermedio"))
            {
                pistas = 1;
            }
            else if (comboBox_dificultad.Text.Equals("Avanzado"))
            {
                pistas = 0;
            }
            else
            {
                MessageBox.Show("Seleccione una dificultad");
            }

            if (pistas != -1)
            {
                if (labels != null)                 //Si ya teníamos una palabra antes, la borramos del Form
                {
                    for (int i = 0; i < labels.Length; i++)
                    {
                        Controls.Remove(labels[i]);
                    }
                }
                if (ocultas != null)
                {
                    for (int i = 0; i < ocultas.Length; i++)
                    {
                        Controls.Remove(ocultas[i]);
                    }
                }

                solucion = midiccionario.getPalabraAleatoria().ToUpper();
                labels   = new Label[solucion.Length];
                ocultas  = new PictureBox[solucion.Length];

                for (int i = 0; i < solucion.Length; i++)
                {
                    labels[i]  = new Label();                    //Creamos tantas labels como letras tenga la palabra
                    ocultas[i] = new PictureBox();
                }

                //Añadimos las labels al form
                for (int i = 0; i < labels.Length; i++)
                {
                    ocultas[i].Left     = x;
                    ocultas[i].Top      = y;
                    ocultas[i].Size     = new Size(25, 25);
                    ocultas[i].Image    = Resources.letraoculta;
                    ocultas[i].SizeMode = PictureBoxSizeMode.Normal;
                    Controls.Add(ocultas[i]);
                    x += 30;
                }

                //Añadimos las pistas en función de la dificultad escogida
                String pistasAnadidas = "";
                for (int i = 0; i < pistas; i++)                  //Número de pistas que vamos a añadir
                {
                    char letra;

                    do
                    {
                        letra = (char)dado.Next(65, 91);
                    } while(!solucion.Contains(letra) || pistasAnadidas.Contains(letra));

                    for (int j = 0; j < solucion.Length; j++)
                    {
                        if (solucion[j] == letra)
                        {
                            labels[j].Text = letra.ToString();
                            //Cambiamos la imagen por el label
                            labels[j].Left = ocultas[j].Left;
                            labels[j].Top  = ocultas[j].Top;
                            labels[j].Size = ocultas[j].Size;
                            labels[j].Font = mifuente;
                            Controls.Remove(ocultas[j]);
                            Controls.Add(labels[j]);
                            //Añadimos la letra a las letras ya usadas
                            pistasAnadidas += letra;
                        }
                    }
                }
            }
        }