import random def play_brontes(): brother_ok = True brother_count = 0 tragedy, brother, masterpiece = 0, 0, 0 while tragedy < 10: if tragedy < 0: tragedy = 0 if masterpiece < 0: masterpiece = 0 if brother < 0: brother = 0 event = random.randint(1, 6) if event <= 2: roll = random.randint(1, 6) if roll == 1: if brother_ok: brother += 1 tragedy += 1 elif roll == 2: masterpiece -= 1 elif roll == 3: if brother_ok: brother += 3 elif roll == 4: masterpiece -= 3 elif roll == 5: masterpiece += 2 else: if brother_ok: brother += 2 tragedy += 1 elif event <= 5: roll = random.randint(1, 6) if roll == 1: tragedy += 1 elif roll == 2: if brother_ok: brother += 2 elif roll == 3: tragedy += 2 elif roll == 4: masterpiece += 1 elif roll == 5: if brother_ok: brother += 2 else: tragedy += 1 else: masterpiece += 1 if brother_ok: if brother >= 5: brother_count += 1 masterpiece = 0 if brother_count >= 3: brother_ok = False if masterpiece >= 5: submit = random.randint(1, 6) if submit == 6: return "Masterpiece", brother_ok masterpiece = 0 return "Tragedy", brother_ok if __name__ == "__main__": scores = {"Tragedy": {"Results": 0, "Brother OK": 0}, "Masterpiece": {"Results": 0, "Brother OK": 0}} for _ in range(100000): result, brother = play_brontes() scores[result]["Results"] = scores[result]["Results"] + 1 if brother: scores[result]["Brother OK"] = scores[result]["Brother OK"] + 1 print(scores)