short[] GetQ1Setup(short[] upperSetup) { short[] bestSetup = new short[6]; int driverExp = int.Parse(txtDriverExperience.Text); int driverTI = int.Parse(txtDriverTI.Text); Classes.TechnicalDirector td = ReadTdFromForm(); float HR = 135f - 0.1f * driverExp - 0.3f * driverTI; short SRWings = (short)(HR - 0.39f * td.RDaerodynamics - 0.04f * td.Experience); short SREngine = (short)(HR - 0.14f * td.RDmechanics - 0.2f * td.RDelectronics - 0.04f * td.Experience); short SRBrakes = (short)(HR - 0.24f * td.RDmechanics - 0.009f * td.RDaerodynamics - 0.06f * td.Experience - 0.08f * td.RDelectronics); short SRGear = (short)(HR - 0.29f * td.RDelectronics - 0.06f * td.Experience - 0.06f * td.RDmechanics); short SRSuspension = (short)(HR - 0.259f * td.RDmechanics - 0.07f * td.Experience - 0.09f * td.RDaerodynamics); bestSetup[0] = (short)(upperSetup[0] - SRWings); bestSetup[1] = (short)(upperSetup[1] - SRWings); bestSetup[2] = (short)(upperSetup[2] - SREngine); bestSetup[3] = (short)(upperSetup[3] - SRBrakes); bestSetup[4] = (short)(upperSetup[4] - SRGear); bestSetup[5] = (short)(upperSetup[5] - SRSuspension); return(bestSetup); }
void FillTd(Classes.TechnicalDirector td) { txtTDLeadership.Text = td.Leadership.ToString(); txtTDRDMechanics.Text = td.RDmechanics.ToString(); txtTDRDElectronics.Text = td.RDelectronics.ToString(); txtTDRDAerodynamics.Text = td.RDaerodynamics.ToString(); txtTDExperience.Text = td.Experience.ToString(); txtTDPitCoordination.Text = td.Pitcoordination.ToString(); txtTDMotivation.Text = td.Motivation.ToString(); txtTDAge.Text = td.Age.ToString(); txtTDSalary.Text = td.Salary.ToString(); txtTDRaces.Text = td.RacesLeft.ToString(); }
void SaveSkills()//testing car { //Read values from form Classes.Car car = ReadCarFromForm(); Classes.Driver driver = ReadDriverFromForm(); Classes.TechnicalDirector td = ReadTdFromForm(); Classes.StaffFacilities sf = ReadSfFromForm(); Classes.Weather weather = ReadWeatherFromForm(); int activeTyreCode = GetTyreCodeFromSkillTab(); //Call the Save methods DB.Car.UpdateCarToDb(car); DB.Driver.UpdateDriverToDb(driver); DB.TechnicalDirector.UpdateTdToDb(td); DB.StaffFacilities.UpdateStaffFacilitiesToDb(sf); DB.Weather.UpdateWeatherToDb(weather); DB.Tyres.UpdateTyreToDb(activeTyreCode); }
void InitiateSkillsTab() { Classes.Driver driver = DB.Driver.ReadDriverFromDB(); FillDriver(driver); Classes.Car car = DB.Car.ReadCarFromDB(); FillCar(car); Classes.TechnicalDirector td = DB.TechnicalDirector.ReadTdFromDB(); FillTd(td); Classes.StaffFacilities sf = DB.StaffFacilities.ReadStaffFacilitiesFromDB(); FillStaffFacilities(sf); UpdateStaffAndFacilitiesCost(sf); Classes.Weather w = DB.Weather.ReadWeatherFromDB(); FillWeather(w); int activeTyreSupplierId = DB.ActiveTyreSupplier.GetTyreSupplierId(); Classes.TyresSupplier tyre = DB.Tyres.ReadTyreFromSupplierDB(activeTyreSupplierId); FillActiveTyreSupplier(tyre); }
Classes.TechnicalDirector ReadTdFromForm() { Classes.TechnicalDirector td = new Classes.TechnicalDirector(); td.Age = int.Parse(txtTDAge.Text); td.Experience = int.Parse(txtTDExperience.Text); td.Leadership = int.Parse(txtTDLeadership.Text); td.Motivation = int.Parse(txtTDMotivation.Text); td.Pitcoordination = int.Parse(txtTDPitCoordination.Text); td.RacesLeft = int.Parse(txtTDRaces.Text); td.RDaerodynamics = int.Parse(txtTDRDAerodynamics.Text); td.RDelectronics = int.Parse(txtTDRDElectronics.Text); td.RDmechanics = int.Parse(txtTDRDMechanics.Text); td.Salary = int.Parse(txtTDSalary.Text); td.Id = 1; return(td); }
void GetNextPracticeSetup() { short[,] setups = new short[8, 11]; int driverExp = int.Parse(txtDriverExperience.Text); int driverTI = int.Parse(txtDriverTI.Text); Classes.TechnicalDirector td = ReadTdFromForm(); float HR = 135f - 0.1f * driverExp - 0.3f * driverTI; float SRWings = HR - 0.39f * td.RDaerodynamics - 0.04f * td.Experience; float SREngine = HR - 0.14f * td.RDmechanics - 0.2f * td.RDelectronics - 0.04f * td.Experience; float SRBrakes = HR - 0.24f * td.RDmechanics - 0.009f * td.RDaerodynamics - 0.06f * td.Experience - 0.08f * td.RDelectronics; float SRGear = HR - 0.29f * td.RDelectronics - 0.06f * td.Experience - 0.06f * td.RDmechanics; float SRSuspension = HR - 0.259f * td.RDmechanics - 0.07f * td.Experience - 0.09f * td.RDaerodynamics; //Get setup list int practiceLap = 0; foreach (DataRow row in dtPractice.Rows) { object[] setupArray = row.ItemArray; for (int i = 0; i < 11; i++) { setups[practiceLap, i] = short.Parse(setupArray[i].ToString()); } practiceLap++; } //Process int lastLapNumber = dtPractice.Rows.Count - 1; //Subtract 1 because arrays in c# starts counting on 0 int wingSetup = (int)((setups[lastLapNumber, 0] + setups[lastLapNumber, 1]) / 2 - setups[lastLapNumber, 6] * HR); wingSetup += (int)(HR * Math.Pow(2, -lastLapNumber) + (SRWings - HR)); int engSetup = (int)(setups[lastLapNumber, 2] - setups[lastLapNumber, 7] * HR); engSetup += (int)(HR * Math.Pow(2, -lastLapNumber) + (SREngine - HR)); int brakesSetup = (int)(setups[lastLapNumber, 3] - setups[lastLapNumber, 8] * HR); brakesSetup += (int)(HR * Math.Pow(2, -lastLapNumber) + (SRBrakes - HR)); int gearSetup = (int)(setups[lastLapNumber, 4] - setups[lastLapNumber, 9] * HR); gearSetup += (int)(HR * Math.Pow(2, -lastLapNumber) + (SRGear - HR)); int suspSetup = (int)(setups[lastLapNumber, 5] - setups[lastLapNumber, 10] * HR); suspSetup += (int)(HR * Math.Pow(2, -lastLapNumber) + (SRSuspension - HR)); //Write next setup to form txtFWing1.Text = wingSetup.ToString(); txtRWing1.Text = wingSetup.ToString(); txtEngine1.Text = engSetup.ToString(); txtBreaks1.Text = brakesSetup.ToString(); txtGear1.Text = gearSetup.ToString(); txtSuspension1.Text = suspSetup.ToString(); }