none
Sopa de Letras RRS feed

  • Pregunta

  • Hola de nuevo a todos.

    Tengo este nuevo proyecto que realizar.

    Tengo 100 botones de comandos, en ellos 100 letras del abecedario y 10 palabras que son las palabras a encontrar en la sopa de letras.

    Tengo dudas de como desarrollar el proyecto ejemplo los botones tienen letras por defecto no se llenan dinamicamente, es correcto como lo hago o agregaria un Random para llenar los botones con el texto, si es asi como hago para que las palabras a buscar se distribuyan en la sopa de letras?

    Otra duda es tengo que declaras 10 variables y enviar cada boton con las letras correctas a la variable correspondiente para ir armando la frase?

    Agradeceria algunas sugerencias sencillas acerca de este tema, no tiene que ser muy complejo ya que apenas empezamos a desarrollar pequeños proyectos en C#.

    Sopa de Letras

    De antemano gracias....!

    DS


    Aprendiz de todos maestro de nadie. Saludos desde Cd. Juarez Chihuahua Mexico. DS.


    • Editado Dany Solis martes, 10 de julio de 2018 15:47 Correción Ortografica
    martes, 10 de julio de 2018 15:46

Respuestas

  • Bueno he encontrado la solución usando solo IF.

    Se las comparto por si a alguien mas le es de utilidad.

    Solo pongo un IF pero utilice diez concatenando las propiedades forecolor de los textos, de los botones de comando.

    /Función revisar los estados de los botones/
            public void Envia(object sender, EventArgs e)
            {
    
                Button btn = (Button)sender;           
                btn.ForeColor = Color.Red;
                Revisar();
            }
    
    
            /*Función revisar los textos, */
            public void Revisar()
            {
                /Verifica que los atributos de RED esten activos/
                if (Btn35.ForeColor == Color.Red && Btn36.ForeColor == Color.Red && Btn37.ForeColor == Color.Red)
                {
                    label1.Enabled = false;
    
                    label1.BackColor = Color.Green;
                    label1.ForeColor = Color.DarkBlue;
                    Btn35.BackColor = Color.Green;
                    Btn36.BackColor = Color.Green;
                    Btn37.BackColor = Color.Green;
                    Btn35.Enabled = false;
                    Btn36.Enabled = false;
                    Btn37.Enabled = false;
                }

    Saludos

    DS


    Aprendiz de todos maestro de nadie. Saludos desde Cd. Juarez Chihuahua Mexico. DS.

    • Marcado como respuesta Dany Solis jueves, 12 de julio de 2018 2:42
    jueves, 12 de julio de 2018 2:42

Todas las respuestas

  • He avanzado un poco he puesto un evento Sender a los botones de comando para cambiarles de color al texto cuando este es presionado.

    Pero ahora como puedo evaluar que cuando los botones que contienen la frase correcta sean completados (hagan la frase) se cambien toos de color) que evento seria el correcto para realizar esto.

    Quizas halla una opción mas corta, pero no se cual seria.

    Esto es lo que llevo:

            public void Envia(object sender, EventArgs e)
            {
                Button btn = (Button)sender;
                btn.ForeColor = Color.Red;
                Revisar();
                
            }
    
            public void Revisar()
            {
    
               if (Btn35.Text.ToString()=="R" && Btn36.Text.ToString()=="E" && Btn37.Text.ToString()=="D");
    
               {
                   Btn35.BackColor=Color.Green;
                   Btn36.BackColor=Color.Green;
                   Btn37.BackColor=Color.Green;
               }
    
            }

    Pero la funcion Revisar como es Obvio me dara pondra siempre los botones en verde ya que el texto ahi esta, seria corregir hasta que la frase se complete, como lo puedo conseguir?

    DS


    Aprendiz de todos maestro de nadie. Saludos desde Cd. Juarez Chihuahua Mexico. DS.

    martes, 10 de julio de 2018 18:45
  • Bueno he encontrado la solución usando solo IF.

    Se las comparto por si a alguien mas le es de utilidad.

    Solo pongo un IF pero utilice diez concatenando las propiedades forecolor de los textos, de los botones de comando.

    /Función revisar los estados de los botones/
            public void Envia(object sender, EventArgs e)
            {
    
                Button btn = (Button)sender;           
                btn.ForeColor = Color.Red;
                Revisar();
            }
    
    
            /*Función revisar los textos, */
            public void Revisar()
            {
                /Verifica que los atributos de RED esten activos/
                if (Btn35.ForeColor == Color.Red && Btn36.ForeColor == Color.Red && Btn37.ForeColor == Color.Red)
                {
                    label1.Enabled = false;
    
                    label1.BackColor = Color.Green;
                    label1.ForeColor = Color.DarkBlue;
                    Btn35.BackColor = Color.Green;
                    Btn36.BackColor = Color.Green;
                    Btn37.BackColor = Color.Green;
                    Btn35.Enabled = false;
                    Btn36.Enabled = false;
                    Btn37.Enabled = false;
                }

    Saludos

    DS


    Aprendiz de todos maestro de nadie. Saludos desde Cd. Juarez Chihuahua Mexico. DS.

    • Marcado como respuesta Dany Solis jueves, 12 de julio de 2018 2:42
    jueves, 12 de julio de 2018 2:42