Я разрабатываю онлайн-игру с вопросами и ответами и хотел бы получить помощь в отношении моей системы подсчета очков. Или совет.
По сути, игра представляет собой набор головоломок, в каждой головоломке есть набор вопросов. Пользователь проходит через вопросы и баллы в одной головоломке. В свою очередь, он делает то же самое с остальными. Это онлайн-игра, основанная на пользователях, что означает, что каждая головоломка имеет рейтинг 10 лучших игроков для каждой головоломки, а также общее табло для всех головоломок вместе взятых. Более того, пользователь может приобрести дополнительные пазлы. Игра предложит приз через некоторое время, и чем больше вы будете разгадывать головоломки, тем больше у вас будет шансов на победу.
У меня нет проблем ни с тем, чтобы получить высокий балл пользователя за каждую головоломку, ни с тем, чтобы получить 10 лучших игроков только по этой головоломке. Проблема в том, когда я думаю об общей таблице результатов.
У меня вопрос: как я буду ранжировать 10 лучших игроков, зная, что игрок, который покупает больше головоломок, должен иметь преимущество, но в то же время он не может быть лучше, чем другой игрок, у которого более высокий процент.
Подробно рассмотрим этот сценарий:
- Player1
* Free Puzzle 1: 60 points 80%
* Free Puzzle 2: 80 points 85%
* Paid Puzzle 1: 80 points 89%
-Player2
* Free Puzzle 1: 50 points 72%
* Free Puzzle 2: 40 points 66%
* Paid Puzzle 1: 40 points 55%
* Paid Puzzle 2: 70 points 80%
Если мы сравним этих двух игроков, мы увидим, что второй игрок купил больше головоломок, но игрок 1 набрал по ним больше очков.
Как я могу решить эту проблему, сохранив оба аспекта. Потраченные игроками деньги по сравнению с выступлениями игроков. Если я усредню их вот так,
Player 1: (80+85+89)/3 = 84.66%
Player 2: (72+66+55+80)/4 = 68.25%
и это повысит рейтинг игрока на 1. Также примите во внимание, что пользователь может сыграть только одну головоломку и набрать больше очков, чем все остальные. Мне нужно найти компромисс.
Обратите внимание, мне не нужна помощь с какой-либо логикой кода, это просто общая идея того, что мне нужно реализовать.
Спасибо