Математический вопрос о проекте Fantasy Sports (змея) - PullRequest
5 голосов
/ 06 февраля 2011

Если вы знакомы с любым проектом фэнтези-спорта, сетка порядка черновиков выглядит примерно так:

EXAMPLE 1 (3-teams):
Round   Team 1   Team 2   Team 3
  1     1 (1.1)  2 (1.2)  3 (1.3)
  2     6 (2.3)  5 (2.2)  4 (2.1)
  3     7 (3.1)  8 (3.2)  9 (3.3)

Цифры 1-9 представляют overall pick number чертежа.

Элементы в скобках представляют собой round_number и pick_number_of_that_round.

Я не могу найти формулу, которая преобразует мой overall_pick_number в соответствующий pick_number_of_that_round.

ВВ приведенном выше примере число 8 равно 2 (2-й пик 3-го раунда).Но в лиге с 4 командами число 8 равно 4 (4-й пик во 2-м раунде).

EXAMPLE 2 (4-teams):
Round   Team 1   Team 2   Team 3   Team 4
  1     1 (1.1)  2 (1.2)  3 (1.3)  4 (1.4)
  2     8 (2.4)  7 (2.3)  6 (2.2)  5 (2.1)
  3     9 (3.1)  10 (3.2) 11 (3.3) 12 (3.4)

Я думал о попытке динамически построить ассоциативный массив, основанный на количестве команд вЛига, содержащая каждый пик и которому он принадлежал, но это просто за мной.

Ответы [ 2 ]

6 голосов
/ 06 февраля 2011

Я изменю ответ на missingno , чтобы заставить его крутиться как "змея"

round_number         = ((overall_pick_number - 1) / number_of_teams) + 1
pick_number_of_round = ((overall_pick_number - 1) % number_of_teams) + 1
if (round_number % 2 == 0) {
    pick_number_of_round = number_of_teams - pick_number_of_round + 1
}
5 голосов
/ 06 февраля 2011
round_number         = ((overall-1) / number_of_teams) + 1
pick_number_of_round = ((overall-1) % number_of_teams) + 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...