示例#1
0
        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;
                    }
                }
            }
        }
示例#2
0
        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;
                    }
                }
            }
        }
示例#3
0
 public static void Test()
 {
     LoadingZoneMain.Run5();
 }