public static void BruteForce() { Input.USE_TAS_INPUT_Y = false; HashSet <int> seenRngIndexes = new HashSet <int>(); for (int count = 0; true; count++) { List <Input> inputs = GenerateInputs(); ObjSlotManager objSlotManager = Simulate(inputs, false); if (objSlotManager != null) { int rngIndex = objSlotManager.Rng.GetIndex(); (int numInitialBubbles, bool isBubbleSpawnerPresent) = objSlotManager.GetBubbleConfiguration(); int numTries = 1; seenRngIndexes.Add(rngIndex); Config.Print("CHECKING SECOND SUCCESS {0} {1} {2} {3}", rngIndex, isBubbleSpawnerPresent, numInitialBubbles, seenRngIndexes.Count); bool success2 = LoadingZoneMain.Run(rngIndex, isBubbleSpawnerPresent, numInitialBubbles, numTries, true); if (success2) { Config.Print(); Config.Print("SUCCESS AFTER " + count); Config.Print(); Config.Print(string.Join("\r\n", inputs)); Config.Print(); Simulate(inputs, true); Config.Print(); return; } } } }
public static void BruteForce2() { Input.USE_TAS_INPUT_Y = false; List <int> rngIndexes = LoadingZoneMain.GetRngIndexes(); bool[] rngIndexSuccesses = new bool[65114]; rngIndexes.ForEach(rngIndex => rngIndexSuccesses[rngIndex] = true); HashSet <int> seenAlready = new HashSet <int>(); for (int count = 0; true; count++) { List <Input> inputs = GenerateInputs(); ObjSlotManager objSlotManager = Simulate(inputs, false); if (objSlotManager != null) { int rngIndex = objSlotManager.Rng.GetIndex(); if (!seenAlready.Contains(rngIndex)) { Config.Print("just saw " + rngIndex); seenAlready.Add(rngIndex); } bool success = rngIndexSuccesses[rngIndex]; if (success) { Config.Print(); Config.Print("SUCCESS AFTER " + count); Config.Print(); Config.Print(string.Join("\r\n", inputs)); Config.Print(); Simulate(inputs, true); Config.Print(); return; } } } }
public static void Test() { LoadingZoneMain.Run5(); }