Advertisement
Guest User

MFD Outcomes MCMC

a guest
Jun 28th, 2017
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.78 KB | None | 0 0
  1. import random
  2.  
  3. a_wins = 0.0
  4. d_wins = 0.0
  5.  
  6. def roll():
  7.     return random.randint(0,100)
  8.  
  9. def a_melee(p):
  10.     global a_wins
  11.     r = roll()
  12.     if r < 62:
  13.         a_wins += p * .62
  14.     elif r < 96:
  15.         d_melee(p * .34)
  16.     else:
  17.         d_medium(p * .04)
  18.  
  19. def a_medium(p):
  20.     r = roll()
  21.     if r < 62:
  22.         d_melee(p * .62)
  23.     elif r < 96:
  24.         d_long(p * .34)
  25.     else:
  26.         d_extreme(p * .04)
  27.    
  28. def a_long(p):
  29.     global d_wins
  30.     r = roll()
  31.     if r < 49:
  32.         d_melee(p * .49)
  33.     elif r < 62:
  34.         d_medium(p * .13)
  35.     elif r < 96:
  36.         d_extreme(p * .34)
  37.     else:
  38.         d_wins += p * .04
  39.  
  40. def a_extreme(p):
  41.     global d_wins
  42.     r = roll()
  43.     if r < 49:
  44.         d_medium(p * .49)
  45.     elif r < 62:
  46.         d_long(p * .13)
  47.     else:
  48.         d_wins += p * .38
  49.  
  50. def d_melee(p):
  51.     r = roll()
  52.     if r < 62:
  53.         a_melee(p * .62)
  54.     elif r < 96:
  55.         a_medium(p * .34)
  56.     else:
  57.         a_long(p * .04)
  58.  
  59. def d_medium(p):
  60.     r = roll()
  61.     if r < 62:
  62.         a_melee(p * .62)
  63.     elif r < 96:
  64.         a_long(p * .34)
  65.     else:
  66.         a_extreme(p * .04)
  67.  
  68. def d_long(p):
  69.     global d_wins
  70.     r = roll()
  71.     if r < 49:
  72.         a_melee(p * .49)
  73.     elif r < 62:
  74.         a_medium(p * .13)
  75.     elif r < 96:
  76.         a_extreme(p * .34)
  77.     else:
  78.         d_wins += p * .04
  79.  
  80. def d_extreme(p):
  81.     global d_wins
  82.     r = roll()
  83.     if r < 49:
  84.         a_medium(p * .49)
  85.     elif r < 62:
  86.         a_long(p * .13)
  87.     else:
  88.         d_wins += p * .38
  89.  
  90. for i in range(1000000):
  91.     r = roll()
  92.     if r < 67:
  93.         a_melee(.67)
  94.     else:
  95.         d_melee(.33)
  96.  
  97. a_percentage = 100.0 * a_wins / (a_wins + d_wins)
  98. d_percentage = 100.0 * d_wins / (a_wins + d_wins)
  99. print(a_percentage)
  100. print(d_percentage)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement