#!/usr/bin/python from random import randint from sys import stderr def debug(x): y = 0 print(x, file=stderr) class Foo: def __init__(self): self.pool_size = 0 self.tests_threshold = 0 self.tests_needed = 0 def one(self): self.dice_remaining = 0 self.tests_passed = 0 self.tests_nat1s = 0 self.tests_this_roll = 0 self.tests_these_rolls = 0 self.dice_remaining = self.pool_size self.tests_nat1s = 0 return self.two() def two(self): self.these_rolls = 1 self.dice_remaining -= 1 return self.three() def three(self): self.tests_this_roll = randint(0, 5) self.tests_these_rolls += self.tests_this_roll return self.n_o_and_p() def n_o_and_p(self): if (self.tests_these_rolls == 0): self.tests_nat1s += 1 return self.four() if (self.tests_this_roll == 5): return self.three() if ((self.tests_this_roll < 5) and (self.tests_these_rolls > 0)): return self.four() return -36 def four(self): if(self.tests_these_rolls >= self.tests_threshold): self.tests_passed += 1 return self.five() else: return self.five() def five(self): # debug(["roll:", self.tests_these_rolls]) if (self.dice_remaining > 0): return self.two() else: return self.six() def six(self): if (self.tests_passed >= self.tests_needed): return 1 else: return self.seven() def seven(self): if (self.tests_nat1s > self.tests_passed): return -1 else: # debug(["nat1:", self.tests_nat1s]) # debug(["pass:", self.tests_passed]) # debug(["need:", self.tests_needed]) # debug(["thresh:", self.tests_threshold]) return 0 blue = Foo() blue.tests_needed = 2 blue.tests_threshold = 4 blue.pool_size = 3 x = blue.one() print ("exit:\t", x) exit(x)