private static List <MissionStat> GetMissionStats(List <User> allUsers) { List <MissionStat> missionStats = new List <MissionStat>(); int[] mostMistaked = NumOfMissionsMostMistakes(allUsers); int[] mistaked = mostMistaked.Distinct().ToArray(); for (int i = 0; i < mistaked.Length; i++) { missionStats.Add(new MissionStat(mistaked[i], MissionGeneratorCollection.GetMissionByNum(mistaked[i]).Generate(), GetAllMissions(allUsers))); } for (int i = 0; i < missionStats.Count; i++) { for (int j = i; j < missionStats.Count; j++) { if (missionStats[i].SuccessPercent < missionStats[j].SuccessPercent) { var temp = missionStats[i]; missionStats[i] = missionStats[j]; missionStats[j] = temp; } } } return(missionStats); }
private void PrintHardestMission(List <int> NumOfUnsolvedMissions) { try { MissionBase hardestMission; hardestMission = MissionGeneratorCollection.GetMissionByNum(GetHardestMission(NumOfUnsolvedMissions)).Generate(); lbl_hardestMission.Text = $"Самое сложное задание: {hardestMission.Title} (№{hardestMission.NumOfMission})"; } catch { lbl_hardestMission.Visible = false; } }
public Test(int[] numOfMissions, int[] numOfMissionsForEach, bool isCalcBlockEnabled) { this.IsCalcBlockEnabled = isCalcBlockEnabled; for (int i = 0; i < numOfMissions.Length; i++) { for (int j = 0; j < numOfMissionsForEach[i]; j++) { int numOfMissionToAdd = numOfMissions[i]; AllMissonsGenerator.Add(MissionGeneratorCollection.GetMissionByNum(numOfMissionToAdd)); } } }
void RefreshLabels() { lbl_numOfMissionsSelected.Text = $"Заданий выбрано: {numOfEachMission.Sum()}"; int timeNeed = 0; for (int i = 0; i < selectedNumsOfMissions.Count; i++) { var mission = MissionGeneratorCollection.GetMissionByNum(selectedNumsOfMissions[i]); for (int j = 0; j < numOfEachMission[i]; j++) { timeNeed += mission.TimeToSolveMission; } } lbl_timeNeed.Text = $"Времяни потребуется: {timeNeed / 60} мин"; }
/// <summary> /// Создать тест для проработки ошибок /// </summary> public Test CreateCorrectMistakesTest(Test testToCorrect) { Test result = testToCorrect.MemberwiseClone() as Test; result.AllMissions = new List <MissionBase>(); for (int i = 0; i < testToCorrect.AllMissions.Count; i++) { if (!testToCorrect.AllMissions[i].IsSolvedRight()) { result.AllMissions.Add(MissionGeneratorCollection.GetMissionByNum(AllMissions[i].NumOfMission).Generate()); } } return(result); }