Настройки турниров и рейтингов. (Формулы)

Как заполнить формулу баллов, сортировки и прочее? 

- Существует два основных подхода к подсчету очков в мафии:
1. Турнирный - это когда конкурирующие игроки играют одинаковое количество игр и для определения их успешности достаточно сложить заработанные каждым из них баллы.
Здесь подходит простая формула:
ps+aps
где ps - это сумма всех заработанных игроков баллов, а aps - сумма всех дополнительных баллов игрока.

 

2. Рейтинговый - в рейтинге разные игроки играют разное количество игр, поэтому только лишь сложение их баллов не будет справедливой оценкой их уровня игры, тут используется коэффициент. То есть мы берем все те же заработанные игроками баллы и делим их на количество сыгранных ими игр. Для удобства отображения, потом это число умножается на 100. %1 - необходим для того, чтобы сайт не отображал в рейтинге десятые и сотые. Получаем:
(((aps+ps)/gc)*100)%1  в самом простом варианте.
Однако организаторы могут захотеть считать очки более сложным образом (так как удерживать высокий рейтинг на длинной дистанции сложнее), например, премировать игроков за сыгранные игры. Пример:
((((aps+ps)/gc)*100)+((gc>110)*110*0.38)+((gc<111)*gc*0.38))%1
эта формула является суммой старой формулы и бонуса за участие в играх, по этой формуле за каждую сыгранную игру с 1 по 110 игрок будет получать по 0,38 бонусных балла к своему коэффициенту. Таким образом, у игрока, который сыграл 50 игр, будет на 22,8 балла коэффициента меньше, чем у игрока, который сыграл 110 игр или больше, при одинаковом соотношении количества набранных очков к сыгранным играм. 

Сортировка:
- Для турнира обычно достаточно продублировать в формулу сортировки формулу баллов: ps+aps
с рейтингами все немного сложнее, так как неизбежно будут игроки, которые приняли участие в недостаточном количестве игр для того, чтобы их коэффициент соответвовал их уровню и предполагаемой позиции в рейтинге. Пример: если за победу мы даем 3 очка, у игрока, сыгравшего 1 игру и выигравшему ее, коэффициент будет 300 и он всегда будет на первом месте в рейтинге. Чтобы избежать этого, существует формула сортировки, для примера такая:
((((aps+ps)/gc)*100)+((gc>110)*110*0.38)+((gc<111)*gc*0.38)+((gc>9)*1000)+((gc>19)*1000)+((gc>29)*1000)+((gc>39)*1000)+((gc>49)*1000)
если ввести эту формулу, то игроки у которых больше 49, 39, 29, 19, 9 игр будут в рейтинге всегда выше. А уже между этими подгруппами будет сортировка по коэффициенту, то есть вверху  таблицы будут игроки сыгравшие больше 49 игр от максимального коэффициента до минимального, затем те, кто сыграл от 49 до 39 игр и так далее. Учитывая, что игроки набирают игры более-менее паралельно, это позволяет понимать, кто на данный момент является объективным лидером рейтинга.

Если вы хотите использовать какую-то свою систему подсчеста, но не знаете как, или просто не разобрались в выше написанном, напишите администрации сайта, мы вам поможем составить необходимые формулы.