Guest User

Untitled

a guest
May 24th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.77 KB | None | 0 0
  1. class Array
  2. def sum
  3. reduce(0, :+)
  4. end
  5.  
  6. def avg
  7. sum.fdiv(size)
  8. end
  9. end
  10.  
  11. def sr_diff
  12. sr = (18..23).to_a.sample
  13.  
  14. if win?
  15. sr
  16. else
  17. sr * -1
  18. end
  19. end
  20.  
  21. def win_rate
  22. 0.52
  23. end
  24.  
  25. def win?
  26. percent = (win_rate * 100).round
  27. dice_roll = (0..100).to_a.sample
  28. dice_roll <= percent
  29. end
  30.  
  31. def games_to_play_to_reach(goal:, start:)
  32. sr = start
  33. games_played = 0
  34.  
  35. loop do
  36. games_played += 1
  37. sr += sr_diff
  38. break if sr >= goal
  39. end
  40.  
  41. games_played
  42. end
  43.  
  44. goal = 2600
  45. start = 2300
  46.  
  47. number_of_games_played = 1_000.times.map do
  48. games_to_play_to_reach(goal: goal, start: start)
  49. end
  50.  
  51. games = number_of_games_played.avg.round
  52.  
  53. puts "You should expect to play #{games} games to each #{goal} SR, starting from #{start} with a winrate of #{(win_rate*100).round}%"
Add Comment
Please, Sign In to add comment