stgatilov's blog

By stgatilov, history, 22 months ago, In Russian,

В этом году в первой номинации Всесибирской олимпиады участникам снова предлагалось написать программу управления роботами-пылесосами.

Как и в прошлом году, игра массовая: в каждой игре запускаются вместе стратегии всех 46 команд. Поэтому, как и в прошлом году, участником пришлось писать стратегии на языке Lua. По появившейся в прошлом году хорошей традиции, в каждом классе, в котором писали соревнование участники, был включен телевизор или проектор, на котором постоянно по циклу показывались последние игры, прошедшие на сервере жюри. Это позволяло участникам быстрее и проще адаптировать свои стратегии под изменения стратегий соперников. Более того, каждый участник мог даже скачать решения всех других участников в любой прошедшей игре, и запустить их локально в любых желаемых конфигурациях.

Правила игры были довольно простые. У каждого игрока есть пылесос, который ездит по полю, и своя территория. Когда пылесос ездит вне своей территории, он оставляет за собой хвост. Если пылесос замыкает свой хвост, вернувшись на свою территорию, тогда все клетки замкнутого контура переходят к нему. Если в хвост пылесоса кто-либо врезается, то игрок умирает: его пылесос, хвост и территория исчезают. Поле циклически замкнуто по горизонтали и вертикали. В качестве очков игрока бралась максимальная достигнутая в течение игры площадь своей территории, к тому же был бонусный множитель за убийства.

Видео одной игры финального тестирования.

Игровое поле

Сейчас по задаче можно скачать:

  1. Исходные коды игры. Для сборки нужны CMake и Qt, но дорогу осилит идущий =)

  2. Оригинальные материалы. Этот архив выдавался участникам на соревновании. В нём есть в том числе полное условие задачи и виндовые бинарники. Если визуализатор сходу не запускается, советуем собрать из исходников.

.

.

Немного фото с места проведения:

Игра и котики

Обсуждение после конца тура

 
 
 
 
  • Vote: I like it
  • +68
  • Vote: I do not like it