Типичный олимп

Наитие

Виконт
Сообщения
347
Лайки
124
@Guldan @Moonya
Был реализован функционал фильтрации по количеству ПТС на Олимпе.

Предлагаю его доработать. Включить в выборку еще % вин рейта, и так же искал ближайший ПТС.

Что я имею ввиду:

Например залетает волна:

1. Вася 175 ПТС вин рейт 57%
2. Вестник 98 ПТС вин рейт 34%
3. Гул 360 ПТС вин рейт 98%
4. Дан 460 ПТС вин рейт 80%
5. Петя 400 ПТС вин рейт 65%
6. Илья 460 ПТС вин рейт 76%

Чтобы арены были такие:
1. Гул + дан
2. Петя + Илья
3. Вася + Вестник

То есть мы:
1. получаем список всех игроков в массиве.
2. Дальше мы его разбиваем на зоны ПТС, которые вы сделали. Допустим у каждой зоны будет свой массив.
3. Далее в каждом массиве мы ищем сначала самый большой вин рейт, когда его находим, то берем его значение и исходя ищем ближайший к нему вин рейт в этом же массиве с допуском в разнице 20% и не больше отличия чем +/- 100-200 ПТС например . Если находим, то берем его.
4. Если не находим по ближайшему вин рейту, то ищем по ближайшему ПТС и берем его.


То есть на примере выше:
Мы берем Гул + Дан, но если бы например Дан не было, то мы бы взяли к нему пару Гул + Илья

Моя задача была донести свою идею, скорее всего такой алгоритм я бы в прод не лил (не нравится разбитие на несколько массивов). Хотя у вас там не такие уж большие обьемы данных, поэтому мб и так норм. Но надеюсь задумку получилось вам донести.
Я не утверждаю, что такая выборка поможет решить все проблемы, но как минимум она поможет получать клиентам менее болезненный опыт, потому что они будут драться плюс минус со своим уровнем противника. Потому что как мне кажется, то бустера от не бустера отличает % вин рейта, а не ммр.
Например:
Чел 10к ммр:
1. на 2к ммр будет иметь вин рейт 95%
2. на 10к ммр он будет иметь ~50% вин рейт
Будет ли он еще считаться бустером на 10к? Думаю нет
 

DegustatoR

Виконт
Сообщения
351
Лайки
194
Судя по тексту автора, он явно в своей жизни писал команду в которой был "hello world")
 

Nekr1

Виконт
Сообщения
1 305
Лайки
376
Судя по тексту автора, он явно в своей жизни писал команду в которой был "hello world")
а кто ее не писал

по теме подозреваю что с подобной системой некоторые персонажи смогут летать с 100% винрейтом ) собственно поэтому классовые ведь и отключили для большего пула при залете
 

Наитие

Виконт
Сообщения
347
Лайки
124
а кто ее не писал

по теме подозреваю что с подобной системой некоторые персонажи смогут летать с 100% винрейтом ) собственно поэтому классовые ведь и отключили для большего пула при залете
Имеешь ввиду сливные матчи(
Да, чет я не подумал о них
 

afkMaloy

Граф
Сообщения
1 641
Лайки
874
3. Далее в каждом массиве мы ищем сначала самый большой вин рейт, когда его находим, то берем его значение и исходя ищем ближайший к нему вин рейт в этом же массиве с допуском в разнице 20% и не больше отличия чем +/- 100-200 ПТС например . Если находим, то берем его.
Ты видимо вообще не олимпер, ты знаешь что такое 20% разница в винрейте?) это примерно как сейчас зона 45-149 и 150+
 

Наитие

Виконт
Сообщения
347
Лайки
124
Ты видимо вообще не олимпер, ты знаешь что такое 20% разница в винрейте?) это примерно как сейчас зона 45-149 и 150+
Так там же он будет брать выборку из определенной зоны и разница не более 100/200 ПТС, поэтому и показалось, что норм
 
Верх