Beispiel #1
0
        // Given dust, goes forward and spawns height swings to investigate
        public void FindIdealReentryManipulationGivenDustFrames(List <int> dustFrames)
        {
            int phase1Limit = 1000;

            int maxDustFrame = dustFrames.Count == 0 ? 0 : dustFrames.Max();
            int counter      = 0;
            int frame        = _startingFrame;

            while (frame < _startingFrame + phase1Limit)
            {
                counter++;
                frame++;
                foreach (TtcObject rngObject in _rngObjects)
                {
                    rngObject.SetFrame(frame);
                    rngObject.Update();
                }

                // Check if pendulum will do height swing after all dust has been made
                TtcPendulum pendulum = GetReentryPendulum();
                if (frame > maxDustFrame &&
                    pendulum._accelerationDirection == -1 &&
                    pendulum._accelerationMagnitude == 13 &&
                    pendulum._angularVelocity == 0 &&
                    pendulum._waitingTimer == 0 &&
                    pendulum._angle == 42748)
                {
                    TtcSimulation simulation = new TtcSimulation(GetSaveState(), frame, new List <int>());
                    simulation.FindIdealReentryManipulationGivenFrame1(dustFrames, frame);
                }
            }
        }
Beispiel #2
0
        public static void TestReentryPhase1()
        {
            string savestateString = "000069000000130000007D00000090000000550000000E0000007D00000095000000550000006D00000055000000590000007D000000900000002D00000054000000FFFFFFFFAF12000016FFFFFF0D000000000000000100000067E4FFFFD6FFFFFF2A00000000000000FFFFFFFFFCA60000000000000D0000000000000001000000BBDBFFFF000000000D000000090000000000000032000000320000005A0000002B00000001000000000000000000000000000000B184000001000000000000000000000000000000B184000001000000000000000000000000000000B184000001000000000000000000000000000000B184000064000000000000000000000019000000010000004600000001000000270000006400000000000000030000000B0000000C0000000000000002000000210000006400000000000000000000003A000000370000000000000000000000130000006400000000000000030000003600000037000000000000000300000029000000010000001D00000001000000600000000C000000000000000300000001000000370000003C000000010000000000000064000000000000000300000007000000786D0000E0FCFFFF18FCFFFFC4DC0000A8FDFFFF50FBFFFFECBB000076FDFFFF00000000761C0000F401000018FCFFFF78820000CEFFFFFFB00400004E990000CEFFFFFF70FEFFFF60070000C201000070FEFFFF03010000F7FFFFFF010000001E0000001D00000090AB00000A00000090AB0000BCFBFFFF820000000A000000B84D000032000000B84D0000BCFBFFFF8F00000008000000D09B000001000000780000000900000028EB0000FFFFFFFF3C0000000C000000B8F8000001000000780000002C000000F8DE0000010000005A00000002000000C03A0000FFFFFFFF5A00000031000000C0210000FFFFFFFF5A0000001900000008510000FFFFFFFF780000007400000040CA0000010000005A0000003500000030740000010000003C0000002D00000078C7000001000000780000001A0000004095000001000000780000004B000000C87E000001000000780000003200000098C40000FFFFFFFF780000000E000000608F0000010000003C0000000F00000058DC00000A0000000CDC000034F3FFFFFE000000110000002C0F0000320000002C0F000034F3FFFF490000001F000000D439000032000000A035000034F3FFFF1A0000000C0000008067000032000000445C000034F3FFFF390000000300000030CC00003200000084C2000034F3FFFF7100000005000000F474000032000000F068000034F3FFFF5100000002000000CB02000006000000010000005A00000010000000EEFAFFFF0600000001000000B4000000840000000CBE0000580200000000000002000000000000000000000000000000B184000003000000000000000000000000000000B1840000B61900000000000019000000000000002700000002000000178A000002000000FF39000000000000000000000000000000000000";
            int    startFrame      = 41887;

            TtcSaveState  savestate  = new TtcSaveState(savestateString);
            TtcSimulation simulation = new TtcSimulation(savestate, startFrame, new List <int>());

            simulation.FindIdealReentryManipulationGivenFrame1(new List <int>(), startFrame);
        }