private void ChooseLeaperGui() { var leaperRepo = new LeaperRepository(); var leapers = leaperRepo.GetAll(); Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("Welcom to Quantum Leap. What is your name?\n"); foreach (var leaper in leapers) { Console.ForegroundColor = ConsoleColor.Magenta; Console.WriteLine(leaper.Name); Console.ForegroundColor = ConsoleColor.White; } Console.WriteLine(); Console.ForegroundColor = ConsoleColor.White; var selection = Console.ReadLine(); Console.ForegroundColor = ConsoleColor.White; _leaper = leapers.Find(leaper => leaper.Name.ToLower() == selection.ToLower()); if (_leaper == null) { Console.Clear(); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Sorry, you do not appear to be an authorized leaper. Talk to Jason Lee Scott for more info, or try again.\n"); Console.ForegroundColor = ConsoleColor.White; } while (_leaper == null) { Console.WriteLine("What is your name?\n"); foreach (var leaper in leapers) { Console.ForegroundColor = ConsoleColor.Magenta; Console.WriteLine(leaper.Name); Console.ForegroundColor = ConsoleColor.White; } Console.WriteLine(); selection = Console.ReadLine(); _leaper = leapers.Find(leaper => leaper.Name.ToLower() == selection.ToLower()); if (_leaper == null) { Console.Clear(); Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Sorry, you do not appear to be an authorized leaper. Talk to Jason Lee Scott for more info, or try again.\n"); Console.ForegroundColor = ConsoleColor.White; } } Console.Clear(); }
public void AttemptLeap(Leaper leaper) { Event randomEvent; Host randomHost; while (true) { randomEvent = new EventRepository().GetRandom(); randomHost = new HostRepository().GetRandom(); bool compareHostAndEventWithLastLeap = isLeapIdentical(randomEvent, randomHost); if (!compareHostAndEventWithLastLeap) { break; } } var currentDate = CurrentEventDate(); int eventsDateDifference = DateDistance(currentDate, randomEvent); int dailyCostOfTravel = 1000 * eventsDateDifference; if (dailyCostOfTravel > _budget) { Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("Not enough funds to leap to that spot in time.\n"); Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine($"Your current budget is only ${_budget}. The cost of that leap is {dailyCostOfTravel}.\n"); Console.ForegroundColor = ConsoleColor.White; } else { Leap leap = new Leap(randomEvent.Id, leaper.Id, randomHost.Id); SubtractFunds(dailyCostOfTravel); LeapRepository makeLeap = new LeapRepository(); makeLeap.Add(leap); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine($"Congrats {leaper.Name}, you have leaped into {randomHost.Name}. You are at {randomEvent.Location} in the year {randomEvent.HistoricalDate.Year}\n"); Console.ForegroundColor = ConsoleColor.White; ButterflyEffect(randomEvent); } }