示例#1
0
 public void SetMarkSettings(MarkGeneratorSettings settings)
 {
     _probabilityAn5Mark = settings.ProbabilityAn5Mark;
     _probabilityAn4Mark = settings.ProbabilityAn4Mark;
     _probabilityAn3Mark = settings.ProbabilityAn3Mark;
     _probabilityAn2Mark = settings.ProbabilityAn2Mark;
 }
示例#2
0
        public MarkGeneratorSettings GetRandomMarkSettings(SchoolboyStatus status)
        {
            MarkGeneratorSettings markGeneratorSettings = new MarkGeneratorSettings();

            switch (status)
            {
            case SchoolboyStatus.Best:
            {
                markGeneratorSettings.ProbabilityAn4Mark = _rnd.Next(5, 16);
                markGeneratorSettings.ProbabilityAn3Mark = _rnd.Next(5, 11);
                markGeneratorSettings.ProbabilityAn2Mark = _rnd.Next(0, 6);
                markGeneratorSettings.ProbabilityAn5Mark = 100 - markGeneratorSettings.ProbabilityAn4Mark - markGeneratorSettings.ProbabilityAn3Mark - markGeneratorSettings.ProbabilityAn2Mark;
                break;
            }

            case SchoolboyStatus.Good:
            {
                markGeneratorSettings.ProbabilityAn5Mark = _rnd.Next(5, 16);
                markGeneratorSettings.ProbabilityAn3Mark = _rnd.Next(5, 16);
                markGeneratorSettings.ProbabilityAn2Mark = _rnd.Next(0, 6);
                markGeneratorSettings.ProbabilityAn4Mark = 100 - markGeneratorSettings.ProbabilityAn5Mark - markGeneratorSettings.ProbabilityAn3Mark - markGeneratorSettings.ProbabilityAn2Mark;
                break;
            }

            case SchoolboyStatus.Middle:
            {
                markGeneratorSettings.ProbabilityAn5Mark = _rnd.Next(0, 11);
                markGeneratorSettings.ProbabilityAn4Mark = _rnd.Next(10, 21);
                markGeneratorSettings.ProbabilityAn2Mark = _rnd.Next(5, 21);
                markGeneratorSettings.ProbabilityAn3Mark = 100 - markGeneratorSettings.ProbabilityAn5Mark - markGeneratorSettings.ProbabilityAn4Mark - markGeneratorSettings.ProbabilityAn2Mark;
                break;
            }

            case SchoolboyStatus.Bad:
            {
                markGeneratorSettings.ProbabilityAn5Mark = _rnd.Next(0, 6);
                markGeneratorSettings.ProbabilityAn4Mark = _rnd.Next(5, 11);
                markGeneratorSettings.ProbabilityAn3Mark = _rnd.Next(10, 21);
                markGeneratorSettings.ProbabilityAn2Mark = 100 - markGeneratorSettings.ProbabilityAn5Mark - markGeneratorSettings.ProbabilityAn4Mark - markGeneratorSettings.ProbabilityAn3Mark;
                break;
            }
            }
            return(markGeneratorSettings);
        }
示例#3
0
        static void Main(string[] args)
        {
            while (true)
            {
                Console.Clear();
                Console.ResetColor();

                Console.WriteLine("ФИО: ");
                SchoolboyFiller filler = new SchoolboyFiller();

                for (int i = 1; i < 10; i++)
                {
                    Console.WriteLine(filler.GetRandomFullName());
                }

                Console.WriteLine();

                SchoolboyStatus       status   = filler.GetRandomStatus();
                MarkGeneratorSettings settings = filler.GetRandomMarkSettings(status);

                MarkGenerator generator = new MarkGenerator();
                generator.SetMarkSettings(settings);

                Console.WriteLine($@"Оценки: 
5 - {settings.ProbabilityAn5Mark}%
4 - {settings.ProbabilityAn4Mark}%
3 - {settings.ProbabilityAn3Mark}%
2 - {settings.ProbabilityAn2Mark}%");
                Console.WriteLine();

                for (int i = 0; i < 10; i++)
                {
                    for (int j = 0; j < 10; j++)
                    {
                        int mark = generator.GetRandomMark();
                        switch (mark)
                        {
                        case 2:
                            Console.ForegroundColor = ConsoleColor.Magenta;
                            Console.Write($"{mark,3}");
                            break;

                        case 3:
                            Console.ForegroundColor = ConsoleColor.Blue;
                            Console.Write($"{mark,3}");
                            break;

                        case 4:
                            Console.ForegroundColor = ConsoleColor.Cyan;
                            Console.Write($"{mark,3}");
                            break;

                        case 5:
                            Console.ForegroundColor = ConsoleColor.Green;
                            Console.Write($"{mark,3}");
                            break;
                        }
                    }
                    Console.WriteLine();
                }

                Console.ReadKey();
            }
        }