| import random | |||||
| class MetroidState: | class MetroidState: | ||||
| def __init__(self): | def __init__(self): | ||||
| self.itemsCollected = { | self.itemsCollected = { | ||||
| kb = "Bosses Killed: {}".format(self.killedBosses()) | kb = "Bosses Killed: {}".format(self.killedBosses()) | ||||
| rs = "Statues Raised: {}".format(self.raisedStatues()) | rs = "Statues Raised: {}".format(self.raisedStatues()) | ||||
| sw = "Swimsuit?: {}".format(self.inBailey()) | sw = "Swimsuit?: {}".format(self.inBailey()) | ||||
| sl = "Start Location: {}".format(self.locations[self.startLocation]) | |||||
| dr = "" | dr = "" | ||||
| return "\n".join([ic, mt, et, zb, kb, rs, sw, dr]) | |||||
| return "\n".join([ic, mt, et, zb, kb, rs, sw, sl, dr]) | |||||
| def randomize(self): | |||||
| # Items | |||||
| if random.randint(0,1) == 1: | |||||
| self.toggleItem("Maru Mari") | |||||
| if random.randint(0,1) == 1: | |||||
| self.toggleItem("Bombs") | |||||
| if random.randint(0,1) == 1: | |||||
| self.toggleItem("Varia") | |||||
| if random.randint(0,1) == 1: | |||||
| self.toggleItem("High Jump Boots") | |||||
| if random.randint(0,1) == 1: | |||||
| self.toggleItem("Screw Attack") | |||||
| if random.randint(0,1) == 1: | |||||
| self.toggleItem("Long Beam") | |||||
| beam = random.randint(0,2) | |||||
| if beam == 1: | |||||
| self.toggleItem("Ice Beam") | |||||
| elif beam == 2: | |||||
| self.toggleItem("Wave Beam") | |||||
| # Missile Tanks | |||||
| for i in range(21): | |||||
| if random.randint(0,1) == 1: | |||||
| self.toggleMissileTank(i+1) | |||||
| # Energy Tanks | |||||
| for i in range(8): | |||||
| if random.randint(0,1) == 1: | |||||
| self.toggleEnergyTank(i+1) | |||||
| # Zebetites | |||||
| for i in range(5): | |||||
| if random.randint(0,1) == 1: | |||||
| self.toggleZebetite(i+1) | |||||
| # Bosses killed | |||||
| if random.randint(0,1) == 1: | |||||
| self.toggleKraid() | |||||
| if random.randint(0,1) == 1: | |||||
| self.toggleRidley() | |||||
| if random.randint(0,1) == 1: | |||||
| self.toggleMotherBrain() | |||||
| # Statues raised | |||||
| if not self.kraidKilled and random.randint(0,1) == 1: | |||||
| self.toggleKraidStatue() | |||||
| if not self.ridleyKilled and random.randint(0,1) == 1: | |||||
| self.toggleRidleyStatue() | |||||
| # Swimsuit | |||||
| if random.randint(0,2) == 2: | |||||
| self.toggleSwimsuit() | |||||
| # Start Location | |||||
| self.startLocation = random.randint(0,4) | |||||
| def main(): | def main(): | ||||
| gs = MetroidState() | gs = MetroidState() | ||||
| gs.kraidKilled = True | |||||
| gs.randomize() | |||||
| print(gs.toString()) | print(gs.toString()) | ||||
| if __name__ == "__main__": | if __name__ == "__main__": |