none
Colores aleatorio, Ayuda Por favor... RRS feed

  • Pregunta

  • Necesito ayuda, y gracias por tomarse el tiempo de leer esto, bueno la cosa es que mi programa genera un color aleatorio en ese console.writeline con espacio y se supone que la persona debería adivinar el nombre del color así que puse tres opciones y una de ellas es la correcta el problema es las opciones agarran el mismo color de la respuesta y también la respuesta agarra el mismo color, también lo malo es que las opciones seguirán iguales así que por defecto siempre sabrán que la primera opción es la correcta........ ayuda por favor 

    Random rnd = new Random();

                string y = "";

                Console.WriteLine("Escriba el nombre del color ");
                Console.WriteLine("   ",Console.BackgroundColor=(ConsoleColor)rnd.Next(16)); <---- Aqui es el color aleatorio
                Console.WriteLine("{0}",Console.BackgroundColor); <-----Esta es la opcion correcta
                Console.WriteLine("Verde"); <-----Opciones 
                Console.WriteLine("azul");<----Opciones
                y = Console.ReadLine();
                if (y == Console.BackgroundColor.ToString()) <---- if para enviar un mensaje de respuesta correcta
                {
                    Console.BackgroundColor = ConsoleColor.Black;
                    Console.WriteLine("La respuesta es Correcta");
                    Console.ReadLine();
                }

               
    lunes, 27 de mayo de 2019 3:54

Respuestas

  • Hola

    intenta con esto

    Random rnd = new Random();            
    ConsoleColor cc = (ConsoleColor)rnd.Next(16);// se asigna el color a una variable
    Console.WriteLine("Escriba el nombre del color ");
    Console.WriteLine("   ", Console.BackgroundColor = cc);
    List<ConsoleColor> res = new List<ConsoleColor>();// se crea una lista de colores
    int x = rnd.Next(30) / 10; // se asigna un numero random para guardar la respuesta 
    
    for (int i = 0; i < 3; i++) // este ciclo es para guardar las respuestas
    {
        if (x==i)// si el numero de ciclo es igual a el numero asignado se guarda el color
        {
            res.Add(cc);
        }
        else // sino se meten valore random
        {
            ConsoleColor nc;
            do
            {
                nc= (ConsoleColor)rnd.Next(16);
    
            } while (nc == cc); // y se repitn hasta que sean iferentes a la respuesta
            
            res.Add((ConsoleColor)rnd.Next(16));
        }
    }
    Console.BackgroundColor = ConsoleColor.Black;
    foreach (ConsoleColor item in res)// se imprimen las opciones
    {
        Console.WriteLine($"{item}");
    }
    string y = Console.ReadLine();
    if (y == cc.ToString()) //< ---- if para enviar un mensaje de respuesta correcta
    {
        
        Console.WriteLine("La respuesta es Correcta");
        
    }
    else
    {
        Console.WriteLine("La respuesta es Inorrecta");
    }
    
    
    
    
    

    • Marcado como respuesta K_u_r_o_z lunes, 27 de mayo de 2019 5:04
    lunes, 27 de mayo de 2019 4:54

Todas las respuestas

  • Hola

    intenta con esto

    Random rnd = new Random();            
    ConsoleColor cc = (ConsoleColor)rnd.Next(16);// se asigna el color a una variable
    Console.WriteLine("Escriba el nombre del color ");
    Console.WriteLine("   ", Console.BackgroundColor = cc);
    List<ConsoleColor> res = new List<ConsoleColor>();// se crea una lista de colores
    int x = rnd.Next(30) / 10; // se asigna un numero random para guardar la respuesta 
    
    for (int i = 0; i < 3; i++) // este ciclo es para guardar las respuestas
    {
        if (x==i)// si el numero de ciclo es igual a el numero asignado se guarda el color
        {
            res.Add(cc);
        }
        else // sino se meten valore random
        {
            ConsoleColor nc;
            do
            {
                nc= (ConsoleColor)rnd.Next(16);
    
            } while (nc == cc); // y se repitn hasta que sean iferentes a la respuesta
            
            res.Add((ConsoleColor)rnd.Next(16));
        }
    }
    Console.BackgroundColor = ConsoleColor.Black;
    foreach (ConsoleColor item in res)// se imprimen las opciones
    {
        Console.WriteLine($"{item}");
    }
    string y = Console.ReadLine();
    if (y == cc.ToString()) //< ---- if para enviar un mensaje de respuesta correcta
    {
        
        Console.WriteLine("La respuesta es Correcta");
        
    }
    else
    {
        Console.WriteLine("La respuesta es Inorrecta");
    }
    
    
    
    
    

    • Marcado como respuesta K_u_r_o_z lunes, 27 de mayo de 2019 5:04
    lunes, 27 de mayo de 2019 4:54
  • Muchas gracias me has ayudado mucho se te agradece un monto... :)
    lunes, 27 de mayo de 2019 5:04