- Регистрация
- 04.03.2019
- Сообщения
- 234
- Благодарностей
- 41
- Баллы
- 28
Есть такой вот код для выбора случайного разрешения экрана, но он не работает, он лишь создает окно в зеннопостере размером с выбранное разрешение, но при этом разрешение элементов на рабочем сайте иное от заданного. Например, выбрали 2К, а по факту всё в окошке 1366х768, интерфейс прорисован как для маленького экрана
C#:
string[] windowSizes = {
"1920,1080",
"1366,768",
"1440,900",
"1536,864",
"1600,900",
"2560,1440"
};
// Вероятности для каждой строки (в процентах)
int[] probabilities_asw = {40, 30, 5, 5, 5, 15};
// Выбор строки с учетом вероятностей
string selectedWindowSize = ChooseWithProbability_asw(windowSizes, probabilities_asw);
instance.SetWindowSize(int.Parse(selectedWindowSize.Split(',')[0]), int.Parse(selectedWindowSize.Split(',')[1]));
string ChooseWithProbability_asw(string[] options, int[] probabilities)
{
if (options.Length != probabilities.Length)
{
throw new ArgumentException("Количество опций и вероятностей должно быть одинаковым");
}
int total = 0;
foreach (int probability in probabilities)
{
total += probability;
}
Random random = new Random();
int randomNumber = random.Next(1, total + 1);
for (int i = 0; i < options.Length; i++)
{
if (randomNumber <= probabilities[i])
{
return options[i];
}
else
{
randomNumber -= probabilities[i];
}
}
return options[options.Length - 1];
}
return selectedWindowSize;