Ciao a tutti,
sono un novizio nella programmazione e scrivendo i miei primi codici mi sono imbattuto in un problema che non riesco in nessun modo a risolvere.
Ho una lista di oggetti. Ogni oggetto ha associata una percentuale. La somma di tutte le percentuali di tutti gli oggetti è uguale al 100%. Vorrei fare in modo che quando richiesto venga preso un oggetto in base alla sua percentuale di uscita.
L'unica idea che mi è venuta in mente è la seguente. Converto le percentuali in numeri da 0 a 1 (esempio 75% è uguale a 0.75), e li trasformo in range consecutivi. Se ho due oggetti con percentuale 75% e 25%, ho due range: 0-0.75, 0.75-1.Poi genero un numero casuale compreso tra 0 a 1, e il range che comprenderà questo numero sarà l'oggetto vincente.
Purtroppo però mi sembra un po' complicato, e non sono nemmeno in grado di trasformare il tutto in codice.
Qualcuno con più esperienza di me sa darmi una mano?
PS.
Gli oggetti e le percentuali sono salvate in due array distinte, ma è possibile "ri-accoppiarli" visto che oggetti e percentuale hanno gli stessi indici.