Программируем танк

Запуск и поиск ошибок

В течение подготовительного этапа каждый раунд длится 120 ходов, а у ботов по 20 жизни, размеры и конфигурация игрового поля не изменяются.

Чтобы начать игру, вам необходимо зарегистрироваться и получить ключ. Ни в коем случае не сообщайте ваш ключ другим участникам.

После регистрации вы можете загрузить файл с кодом вашего танка на сервер. При первой загрузке ваш танк появится в игре по окончании раунда. При повторной загрузке, измения в коде вступят в силу мнгновенно.

Вся информация о работе вашего танка представлена в статистике:

  • HP - текущий уровень жизни;
  • Качество - наличие ошибок в коде;
  • Действия - количество шагов (ST) / выстрелов (SH);
  • Попадания - количество попаданий по противникам
  • Время жизни - количество ходов, в течение которых танк жив;
  • Монеты - число собранных монет;
  • Счет - счет, с учетом попаданий, монет и штрафов за ошибки.

Виды ошибок:

  • crash - синтаксическая ошибка, ошибка времени выполнения, либо превышение времени работы (timeout);
  • errors - танк вернул несуществующую команду (например, выбранное действие написано с ошибкой / пробелом вместо подчеркивания и т.д.), либо не вернул ничего (None).

Если ваш бот работает с ошибками, можно навести мышку на слово crash и подождать пару секунд - появится подсказка с текстом ошибки.

При наведении на errors появится строка, которую вернул танк.

Качество бота меняется даже при наличии всего одной ошибки. Графа обновится только с наступлением нового раунда, даже если вы обновили код танка.

Если ваш танк работает с ошибкой, проще всего провести отладку локально. Для этого создайте в вашем коде свой пример карты и запустите вашу программу:

def make_choice(x,y,field):
    # код танка
    pass

if __name__ == "__main__":
    T = {"life": 10}
    my_field = [
        [0,0,0,0],
        [0,T,0,1],
        [0,0,T,0],
        [0,0,0,0]
    ]
    my_x = 1
    my_y = 1
    res = make_choice(my_x, my_y, my_field)
    print(res)

Назад Вперед