public void SetMarkSettings(MarkGeneratorSettings settings) { _probabilityAn5Mark = settings.ProbabilityAn5Mark; _probabilityAn4Mark = settings.ProbabilityAn4Mark; _probabilityAn3Mark = settings.ProbabilityAn3Mark; _probabilityAn2Mark = settings.ProbabilityAn2Mark; }
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); }
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(); } }