예제 #1
0
        public static List <int> FindIdealPendulumManipulation(uint pendulumAddress)
        {
            List <List <int> > dustFrameLists = GetDustFrameLists(MupenUtilities.GetFrameCount() + 2, 25, 25);

            foreach (List <int> dustFrames in dustFrameLists)
            {
                TtcSimulation simulation = new TtcSimulation(dustFrames);
                bool          success    = simulation.FindIdealPendulumManipulation(pendulumAddress).ToTuple().Item1;
                if (success)
                {
                    return(dustFrames);
                }
            }
            return(null);
        }
예제 #2
0
        FindIdealPendulumManipulation(uint pendulumAddress, TtcSaveState saveState)
        {
            List <List <int> > dustFrameLists = GetDustFrameLists(2, 25, 25);

            foreach (List <int> dustFrames in dustFrameLists)
            {
                TtcSimulation simulation = new TtcSimulation(saveState);
                simulation.AddDustFrames(dustFrames);
                (bool success, TtcSaveState savestate, int endFrame) = simulation.FindIdealPendulumManipulation(pendulumAddress);
                if (success)
                {
                    return(success, savestate, endFrame, dustFrames);
                }
            }
            return(false, null, 0, null);
        }