public void TestGoToNextCheckpoint(int threadCount) { rocket = rocket.IncreaseCheckpoints(); var level = new Level(rocket, new[] { new Vector(200, 100), new Vector(0, 100) }, LevelsFactory.StandardPhysics); var expectedResult = level.InitialRocket.Move(Turn.Left, level); // Нам к (0, 100), потому что первый уже взят. RunTestCase(threadCount, level, expectedResult); }
public void Move(Turn turn) { if (IsCompleted) { return; } var nextCheckpoint = Rocket.TakenCheckpointsCount % Checkpoints.Length; if (nextCheckpoint != Checkpoints.Length && (Rocket.Location - Checkpoints[nextCheckpoint]).Length < 20) { Rocket = Rocket.IncreaseCheckpoints(); } Rocket = physics.MoveRocket(Rocket, 1.0, turn, 0.5); }