Я не совсем понял идею про компенсацию времени на переезд внутри уровня:
- Если уровень снимается, то снимается все время, затраченное командой на данном уровне, а именно - время переезда до точки, время на точке до ввода кода. Так если кто-то ехал издалека на точку, и затратил на переезд 30 минут, а не 10 например, то и снимаемое время уровня у них будет на 20 минут больше. Тут условия у всех равны.
- При снятии уровня надо учитывать какой следующий уровень был у команды. От этого зависит время переезда до точки этого задания, от точки снятого задания. При нелинейных маршрутах - точки у всех разные, и километраж до них разный. Соответственно тут и нужны бонусы, тем командам, кто ехал до следующего после снятого уровня задания больше - чем было минимальное расстояние.
Пример простой:
Всего три маршрута - А, Б и В.
Снимается одно из заданий.
Получается ситуация, что командам с маршрутом А, до след. точки ехать 5 км. Командам с маршрутом Б - 7 км. А командам с маршрутов В - 15 км.
Так как сняли предыдущий уровень - все команды находятся в точке снятого уровня, но ехать на следующий уровень им по разному далеко.
Выравнять условия можно таким образом:
Команды с маршрутом А - не получает бонус, так как была ближе других к своей следующей точке маршрута.
Команды с маршрутом Б и В - получаею бонус. Нужно решить, какую скорость считать средней при передвижении на игре.
Для команд с маршрутом Б - бонус будет равен (7-5 км) / (средняя_принятая_скорость_передвижения_на_игре).
Для команд с маршрутом В - бонус будет равен (15-5 км) / (средняя_принятая_скорость_передвижения_на_игре).
Это выравняет условие разноудаленности команд от следующего за снятым уровня. Условно конечно, так как скорости передвижения у всех разные.
Почему нужно компенсировать при снятии уровня время переезда внутри снятого уровня я не понимаю. Объясните.