fork download
  1. def fib(n)
  2. curr = 0
  3. succ = 1
  4.  
  5. n.times do |i|
  6. curr, succ = succ, curr + succ
  7. end
  8.  
  9. return curr
  10. end
  11.  
  12. def bankrupt_me(bank, ratio=3.45)
  13. stakes = [0,0,0,0]
  14. round = [0,0,0,0]
  15.  
  16.  
  17.  
  18. counter = 0
  19.  
  20. 1000.times do
  21. 4.times do |i|
  22. stakes[i] = fib(round[i]+1)
  23. end
  24.  
  25. bank = bank - stakes.reduce(&:+)
  26.  
  27. win = rand(4)
  28. puts "Win ##{win}"
  29.  
  30. bank = bank + stakes[win]*ratio
  31.  
  32. if bank < 0
  33. puts "YOU DIE"
  34. exit
  35. end
  36.  
  37. 4.times do |i|
  38. round[i] = round[i] + 1
  39. end
  40.  
  41. round[win] = 0
  42.  
  43. puts "After round #{counter}: #{bank} | next stakes: #{stakes.inspect}"
  44.  
  45. counter = counter + 1
  46. end
  47. end
  48.  
  49.  
  50. starting_cash = 16.40
  51.  
  52. bankrupt_me(starting_cash)
Success #stdin #stdout 0s 5276KB
stdin
Standard input is empty
stdout
Win #3
After round 0: 15.849999999999998 | next stakes: [1, 1, 1, 1]
Win #2
After round 1: 15.299999999999997 | next stakes: [1, 1, 1, 1]
Win #2
After round 2: 12.749999999999996 | next stakes: [2, 2, 1, 1]
Win #1
After round 3: 14.099999999999998 | next stakes: [3, 3, 1, 2]
Win #0
After round 4: 21.349999999999998 | next stakes: [5, 1, 1, 3]
Win #2
After round 5: 19.25 | next stakes: [1, 1, 2, 5]
Win #3
After round 6: 34.85 | next stakes: [1, 2, 1, 8]
Win #1
After round 7: 38.2 | next stakes: [2, 3, 1, 1]
Win #2
After round 8: 38.1 | next stakes: [3, 1, 2, 1]
Win #1
After round 9: 32.550000000000004 | next stakes: [5, 1, 1, 2]
Win #0
After round 10: 47.150000000000006 | next stakes: [8, 1, 1, 3]
Win #0
After round 11: 41.60000000000001 | next stakes: [1, 1, 2, 5]
Win #2
After round 12: 37.95000000000001 | next stakes: [1, 2, 3, 8]
Win #3
After round 13: 64.80000000000001 | next stakes: [1, 3, 1, 13]
Win #2
After round 14: 59.250000000000014 | next stakes: [2, 5, 1, 1]
Win #2
After round 15: 49.70000000000002 | next stakes: [3, 8, 1, 1]
Win #2
After round 16: 32.15000000000002 | next stakes: [5, 13, 1, 2]
Win #3
After round 17: 9.500000000000021 | next stakes: [8, 21, 1, 3]
Win #0
After round 18: 5.350000000000023 | next stakes: [13, 34, 1, 1]
Win #2
YOU DIE