Ho un valore compreso tra 0 e 8000 e voglio che questo numero si risolva in un altro numero compreso tra 0 e 2000. Potrei semplicemente dividerlo per 4 ma ho un bisogno speciale qui.
Per valori superiori a 4000 voglio che il valore mappato sia polarizzato verso il 2000. Ma per valori inferiori a 4000 voglio che il valore mappato sia polarizzato verso 0.
Questo è in realtà per un gioco in cui ti vengono dati punti bonus tra 0 e 2000 a seconda della velocità con cui completi l'attività. Quindi se sei molto veloce e lo fai in 7500 millisecondi dovresti ottenere 1875 punti (esattamente 7500/4). Se lo fai in 6000 millisecondi otterresti 1450 punti (poco meno di 6000/4). Se sei lento e lo fai in 1000 millisecondi otterresti 50 millisecondi (ben sotto 1000/4). L'idea è quella di premiare i giocatori veloci più dei giocatori lenti, ma lasciare che i giocatori lenti sentano di aver raggiunto qualcosa. Sento che una mappatura dei valori "facilitata" raggiungerebbe questo obiettivo.
Spero che abbia senso. Puoi aiutarmi a capire il codice che raggiunge questo?