0 votos
Hola, estaba trabajando con random y array y me surgieron 2 dudas sobre el tema.

1) Es posible crear 3 array, cada uno contiene imagenes, y con un random que elija una imagen de forma aleatoria del array y a su vez que el array de donde se toma la imagen tambien se elija al azar entre los 3 array que hay? No se si se entiende bien

2) Se puede hacer que una imagen tenga mas probabilidades de ser elegida sobre otra?
por en Android

1 Respuesta

0 votos

Sí se puede hacer. El siguiente código elige un número al azar entre 1 y 3:

Random r = new Random();
int min = 1;
int max = 3;
int Result = r.nextInt(max-min) + min;

De este modo, si tienes el siguiente array: [A, B, C], donde cada letra es una imagen, elegirá una de éstas.

Para que alguna posición de un array tenga más probabilidades lo que puedes hacer es de una manera sencilla repetir la imagen en el mismo array para aumentar las posibilidades de que toque. Por ejemplo si queremos aumentar que B salga más veces haríamos: [A, B, B, C] y actualizariamos el max a 4 pues ahora son 4 posiciones.

Ya si quieres apurar más con las probabilidades, haría una matriz bidimensional que cada posición corresponda con una imagen, y que los valores sean el mínimo y el máximo para que toque. Por ejemplo, para que B del primer array tenga el doble de probabilidades haría: [ [1,2] [2,4] [4, 5] ]. Luego un número aleatorio entre 1 y 5, para el que toque buscar en que posición está. Se podría hacer lo mismo con una lista de objetos con el máximo y el mínimo, y con la imagen referenciada

por