public void LaunchAllMissiles() { int successfulLaunches = 0; List <Missile> launchableMissiles = Launcher.AllMissiles.Where(mis => mis.IsFailed == false).ToList(); if (launchableMissiles.Count == 0) { Console.WriteLine("No missiles to launch."); return; } int totalAmount = Launcher.currentAmount; int distance = UserInputValidator.CalculateDistance(1500); foreach (var missile in launchableMissiles) { missile.Launch(distance); if (!missile.IsFailed) { RemoveMissileFromInventory(missile); successfulLaunches++; } } if (successfulLaunches > 0) { Console.WriteLine($"{successfulLaunches} missiles were launched!"); Console.WriteLine($"All other {totalAmount - successfulLaunches} are failed missiles."); } else { Console.WriteLine($"all {launchableMissiles.Count} launchable missiles were failed!"); } }
public double CalculateChance() { int distance = UserInputValidator.CalculateDistance(1500, TargetMissile); if (distance == 1) { Console.WriteLine("Missile has 100 launch success rate"); return(100); } return(100 - distance / 1500.0); }