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 = 200.0
  51.  
  52. bankrupt_me(starting_cash)
Success #stdin #stdout 0s 5276KB
stdin
Standard input is empty
stdout
Win #2
After round 0: 199.45 | next stakes: [1, 1, 1, 1]
Win #2
After round 1: 198.89999999999998 | next stakes: [1, 1, 1, 1]
Win #1
After round 2: 198.79999999999998 | next stakes: [2, 2, 1, 2]
Win #1
After round 3: 194.24999999999997 | next stakes: [3, 1, 1, 3]
Win #1
After round 4: 184.69999999999996 | next stakes: [5, 1, 2, 5]
Win #0
After round 5: 192.29999999999995 | next stakes: [8, 1, 3, 8]
Win #2
After round 6: 189.54999999999995 | next stakes: [1, 1, 5, 13]
Win #2
After round 7: 167.99999999999994 | next stakes: [1, 2, 1, 21]
Win #3
After round 8: 245.29999999999995 | next stakes: [2, 3, 1, 34]
Win #1
After round 9: 252.54999999999995 | next stakes: [3, 5, 1, 1]
Win #2
After round 10: 250.44999999999996 | next stakes: [5, 1, 2, 1]
Win #1
After round 11: 241.89999999999995 | next stakes: [8, 1, 1, 2]
Win #0
After round 12: 268.74999999999994 | next stakes: [13, 1, 1, 3]
Win #3
After round 13: 276.99999999999994 | next stakes: [1, 1, 2, 5]
Win #1
After round 14: 276.8999999999999 | next stakes: [1, 2, 3, 1]
Win #1
After round 15: 271.3499999999999 | next stakes: [2, 1, 5, 1]
Win #1
After round 16: 260.7999999999999 | next stakes: [3, 1, 8, 2]
Win #2
After round 17: 283.6499999999999 | next stakes: [5, 1, 13, 3]
Win #3
After round 18: 285.8999999999999 | next stakes: [8, 1, 1, 5]
Win #0
After round 19: 313.74999999999994 | next stakes: [13, 2, 1, 1]
Win #0
After round 20: 310.19999999999993 | next stakes: [1, 3, 2, 1]
Win #0
After round 21: 302.6499999999999 | next stakes: [1, 5, 3, 2]
Win #0
After round 22: 289.0999999999999 | next stakes: [1, 8, 5, 3]
Win #2
After round 23: 289.69999999999993 | next stakes: [1, 13, 8, 5]
Win #0
After round 24: 262.1499999999999 | next stakes: [1, 21, 1, 8]
Win #1
After round 25: 330.44999999999993 | next stakes: [1, 34, 1, 13]
Win #0
After round 26: 308.8999999999999 | next stakes: [1, 1, 2, 21]
Win #0
After round 27: 273.3499999999999 | next stakes: [1, 1, 3, 34]
Win #2
After round 28: 227.5999999999999 | next stakes: [1, 2, 5, 55]
Win #1
After round 29: 143.9499999999999 | next stakes: [1, 3, 1, 89]
Win #0
After round 30: 2.8499999999999037 | next stakes: [2, 1, 1, 144]
Win #2
YOU DIE