Buenos días querido foro, tengo una duda que no he podido solucionar con la función random, les comento que se utilizar la función random de manera básico, para que me respondan con números, etc, pero no se como podría transformar ese resultado en un "string" mas completo, por ejemplo:
con neo pixel quiero un random solo entre dos opciones que podrían ser:
la idea es que cada opción sea solo un resultado del random, entonces yo puedo hacer random de 2 opciones para tener la opcion 1 y opcion 2 con un resultado numerico (en esto no tengo problemas), pero no sabria transformar ese resultado del 1 o del 2 en ese "string" completo.
Ese es el problema no sabría como escribir esa parte del código, creo que me entendiste pero no del todo, ya que las opciones del random deben ser esto "(255, 0, 0) o esto (0,0,255), no se si en un array de puede hacer algo como esto:
int randomcolor[] = {
(255,0,0),(0,0,255)
}
ahi hay dos opciones para el array, de todas formas estaré probando posibles soluciones con la guia que me entregaste.
int numeroAleatorio = random(0,2); // o random(2) es lo mismo.
pixels.Color(randomcolor[numeroAleatorio][0], randomcolor[numeroAleatorio][1], randomcolor[numeroAleatorio][2]);
@anon90500195,
Muchas gracias, lo he probado y estoy tratando de entender bien el código, ya que la idea es realmente aprender, lo que si me he dado cuenta es que no hay dos opciones de random color, he verificado que se genera el codigo (255, 0, 255) y la idea era o (255, 0, 0) o (0, 0, 255) pero no una mezcla de ambos, ya que esos números son ejemplos pero podrian ser cualquier otro.
El otro problema que se genero y que ahora que lo pienso es obvio, es que el color se actualiza en todo momento, por ejemplo , esto es un anillo RGB el cual al presionar un botón se genera el color random el cual podría ser rojo (255, 0, 0) o azul (0, 0, 255) pero mientras el botón este presionado el color sigue actualizando y se produce un efecto de parpadeo entre las opciones de random, eso me paso con el código que estoy probando, y bueno comente anteriormente, en el código que me indicaste se genera el (255, 0, 255)
EDIT: ya he entendido el código y veo que las opciones randon son para los 3 números que van en el paréntesis, es decir (1, 2, 3) la idea no es que estos números sean random, la idea es que el random elija entre dos opciones preestablecidas las cuales son (255, 0, 0) o (0, 0, 255) no que los números dentro del paréntesis sean resultados random.
@anon90500195 aun no he podido probar el codigo con tiempo, pero antes de probar queria comentarte que he logrado pasar el codigo R,G,B a un solo valor asi:
Puedo compilar, solo me falta probar con random cuando tenga un poco de tiempo, tu le vez algún problema para "ir" a buscar los colores de esta forma?, se que a algunos no les gusta usar #define, pero igual termino viendolo en muchos programas.
No le veo problema, solo ten presente que el compilador va a cambiar todas las combinaciones de letras "rojo" que encuentre por "255,0,0", lo mismo con "verde" y "azul" por sus respectivas equivalencias.
O sea, si tienes "rojo1" va a terminar como "255,0,01". Solo se cuidadoso con los nombres de variables y funciones (aunque en este caso no tendrías problema).
Fuera de eso, es un recurso para tipear menos.