Пример #1
0
        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);
        }
Пример #2
0
 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; }
 }
Пример #3
0
        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));
                }
            }
        }
Пример #4
0
        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} мин";
        }
Пример #5
0
        /// <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);
        }