spacepaste

  1.  
  2. #!/usr/bin/python
  3. from random import randint
  4. from sys import stderr
  5. def debug(x):
  6. y = 0
  7. print(x, file=stderr)
  8. class Foo:
  9. def __init__(self):
  10. self.pool_size = 0
  11. self.tests_threshold = 0
  12. self.tests_needed = 0
  13. def one(self):
  14. self.dice_remaining = 0
  15. self.tests_passed = 0
  16. self.tests_nat1s = 0
  17. self.tests_this_roll = 0
  18. self.tests_these_rolls = 0
  19. self.dice_remaining = self.pool_size
  20. self.tests_nat1s = 0
  21. return self.two()
  22. def two(self):
  23. self.these_rolls = 1
  24. self.dice_remaining -= 1
  25. return self.three()
  26. def three(self):
  27. self.tests_this_roll = randint(0, 5)
  28. self.tests_these_rolls += self.tests_this_roll
  29. return self.n_o_and_p()
  30. def n_o_and_p(self):
  31. if (self.tests_these_rolls == 0):
  32. self.tests_nat1s += 1
  33. return self.four()
  34. if (self.tests_this_roll == 5):
  35. return self.three()
  36. if ((self.tests_this_roll < 5) and (self.tests_these_rolls > 0)):
  37. return self.four()
  38. return -36
  39. def four(self):
  40. if(self.tests_these_rolls >= self.tests_threshold):
  41. self.tests_passed += 1
  42. return self.five()
  43. else:
  44. return self.five()
  45. def five(self):
  46. # debug(["roll:", self.tests_these_rolls])
  47. if (self.dice_remaining > 0):
  48. return self.two()
  49. else:
  50. return self.six()
  51. def six(self):
  52. if (self.tests_passed >= self.tests_needed):
  53. return 1
  54. else:
  55. return self.seven()
  56. def seven(self):
  57. if (self.tests_nat1s > self.tests_passed):
  58. return -1
  59. else:
  60. # debug(["nat1:", self.tests_nat1s])
  61. # debug(["pass:", self.tests_passed])
  62. # debug(["need:", self.tests_needed])
  63. # debug(["thresh:", self.tests_threshold])
  64. return 0
  65. blue = Foo()
  66. blue.tests_needed = 2
  67. blue.tests_threshold = 4
  68. blue.pool_size = 3
  69. x = blue.one()
  70. print ("exit:\t", x)
  71. exit(x)
  72.