Principales respuestas
Colores aleatorio, Ayuda Por favor...

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();
}
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
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
-