PlasmaVNGaming

Untitled

Jul 2nd, 2021
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.83 KB | None | 0 0
  1. public static Random random = new Random();
  2.  
  3. public static int random(int from, int to) {
  4. return random.nextInt(to + 1) + from;
  5. }
  6.  
  7. public static int roll(int[] indexes, double[] rates) {
  8. double sum = 0;
  9. for (int index : indexes) {
  10. sum += rates[index];
  11. }
  12.  
  13. double t = 0;
  14. double[] percent = new double[indexes.length];
  15.  
  16. for (int i = 0; i < indexes.length; i++) {
  17. int index = indexes[i];
  18. if (index < 0 || index >= rates.length) continue;
  19. t += rates[i] / sum;
  20. percent[i] = t;
  21. }
  22.  
  23. double r = random.nextDouble();
  24. for (int i = 0; i < indexes.length; i++) {
  25. if (r <= percent[i]) {
  26. return i;
  27. }
  28. }
  29.  
  30. return -1;
  31. }
Advertisement
Add Comment
Please, Sign In to add comment