//creates a number of instructors public static void CreateInstructors(int count) { List <Town> towns = Towns.GetTowns(); Random rnd = new Random(); for (int i = 0; i < count; i++) { Town town = towns[rnd.Next(towns.Count)]; DateTime birthdate = MathHelpers.GetRandomDate(GameObject.GetInstance().GameTime.AddYears(-Pilot.RetirementAge), GameObject.GetInstance().GameTime.AddYears(-23)); PilotProfile profile = new PilotProfile(Names.GetInstance().getRandomFirstName(), Names.GetInstance().getRandomLastName(), birthdate, town); Dictionary <Pilot.PilotRating, int> rankings = new Dictionary <Pilot.PilotRating, int>(); rankings.Add(Pilot.PilotRating.A, 10); rankings.Add(Pilot.PilotRating.B, 20); rankings.Add(Pilot.PilotRating.C, 40); rankings.Add(Pilot.PilotRating.D, 20); rankings.Add(Pilot.PilotRating.E, 10); Pilot.PilotRating ranking = AIHelpers.GetRandomItem <Pilot.PilotRating>(rankings); Instructor instructor = new Instructor(profile, ranking); Instructors.AddInstructor(instructor); } }
//creates the pilot ranking for a pilot student public static Pilot.PilotRating GetPilotStudentRanking(PilotStudent student) { Pilot.PilotRating instructorRanking = student.Instructor.Rating; int aircraftCoeff = student.Instructor.FlightSchool.TrainingAircrafts.Exists(a => a.Type.MaxNumberOfStudents > 5) ? 10 : 0; int instructorRankingIndex = Array.IndexOf(Enum.GetValues(typeof(Pilot.PilotRating)), instructorRanking); Dictionary <Pilot.PilotRating, int> rankings = new Dictionary <Pilot.PilotRating, int>(); rankings.Add(instructorRanking, 50); if (instructorRankingIndex > 0) { Pilot.PilotRating prevRating = (Pilot.PilotRating)Enum.GetValues(typeof(Pilot.PilotRating)).GetValue(instructorRankingIndex - 1); rankings.Add(prevRating, 35 - aircraftCoeff); } if (instructorRankingIndex < Enum.GetValues(typeof(Pilot.PilotRating)).Length - 1) { Pilot.PilotRating nextRating = (Pilot.PilotRating)Enum.GetValues(typeof(Pilot.PilotRating)).GetValue(instructorRankingIndex + 1); rankings.Add(nextRating, 15 + aircraftCoeff); } Pilot.PilotRating rating = AIHelpers.GetRandomItem <Pilot.PilotRating>(rankings); return(rating); }
//creates a number of pilots public static void CreatePilots(int count) { List <Town> towns = Towns.GetTowns(); Random rnd = new Random(); for (int i = 0; i < count; i++) { Town town = towns[rnd.Next(towns.Count)]; DateTime birthdate = MathHelpers.GetRandomDate(GameObject.GetInstance().GameTime.AddYears(-Pilot.RetirementAge), GameObject.GetInstance().GameTime.AddYears(-23)); PilotProfile profile = new PilotProfile(Names.GetInstance().getRandomFirstName(), Names.GetInstance().getRandomLastName(), birthdate, town); Dictionary <Pilot.PilotRating, int> rankings = new Dictionary <Pilot.PilotRating, int>(); rankings.Add(Pilot.PilotRating.A, 10); rankings.Add(Pilot.PilotRating.B, 20); rankings.Add(Pilot.PilotRating.C, 40); rankings.Add(Pilot.PilotRating.D, 20); rankings.Add(Pilot.PilotRating.E, 10); Pilot.PilotRating ranking = AIHelpers.GetRandomItem <Pilot.PilotRating>(rankings); int fromYear = Math.Min(GameObject.GetInstance().GameTime.Year - 1, birthdate.AddYears(23).Year); int toYear = Math.Min(GameObject.GetInstance().GameTime.Year, birthdate.AddYears(Pilot.RetirementAge).Year); DateTime educationTime = MathHelpers.GetRandomDate(birthdate.AddYears(23), new DateTime(toYear, 1, 1)); Pilot pilot = new Pilot(profile, educationTime, ranking); Pilots.AddPilot(pilot); } }
public Instructor(PilotProfile profile, Pilot.PilotRating rating) { this.Profile = profile; this.Rating = rating; this.Students = new List <PilotStudent>(); }