1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | # Ogre/GEV CRT tester import random # define and initialize variables n = 1000 sides = 6 crt = {1: "ne", 2: "d", 3: "d", 4: "x", 5: "x", 6: "x"} results = {"ne": 0, "d": 0, "x": 0} attacks = 0 # test loop for i in range(1, n): # attack resolutions survived = True disabled = False result = "" while survived: roll = random.randint(1, sides) attacks += 1 result = crt[roll] match result: case "ne": results["ne"] += 1 case "d": results["d"] += 1 if disabled: survived = False else: disabled = True case "x": results["x"] += 1 survived = False # print("attacks: ", attacks, " survived: ", survived, " roll: ", roll, " result: ", result) print("n: ", n) print("sides: ", sides) print("crt") for i in range(1, sides + 1): print(i, " ", crt[i]) print("attacks: ", attacks) print("results:") print("ne: ", results["ne"]) print("d: ", results["d"]) print("x: ", results["x"]) |
Direct link: https://paste.plurk.com/show/1MgEVuBHSYQ1V3bzBrn5