Привет
> Привет всем!
> Только недавно натолкнулся на это соревнование.
> Может проглядел в правилах, а может там и нету. Возник такой вопрос. Все
> роботы соревнуются на арене одновременно? Или каждый с каждым, т.е. 2
> робота на арене?
Вот цитата из
http://robots.shaos.ru/main_rus/rules.htm
4.8 ПОДСЧЕТ ОЧКОВ И ОПРЕДЕЛЕНИЕ РОБОТА-ПОБЕДИТЕЛЯ
Каждая битва ведется в течении 10000 тактов боевого времени. Выигрывает
робот, убивший соперника и оставшийся в живых. В случае, если во время
боя никто не погибнет, результатом игры считается НИЧЬЯ. То же самое
относится к случаю, когда выжил никого не убивший робот (например,
погибший робот просто упал в яму или выполнил некорректную инструкцию).
Все роботы разделены на классы. Самым лучшим считается класс А.
По результатам боев в классе А высчитывается десятка лучших роботов
(с учетм предыдущих соревнований). Каждый класс содержит 21 робота
(кроме последнего класса - там может быть от 10 до 30 роботов).
В одном бою участвуют только два робота из одного класса. Если в
классе представлены N роботов (обычно 21), то проводится N*(N-1) боев.
Каждый робот участвует в 2*(N-1) боях. Например, если в одном классе 21
робот, то проводится 21*20=420 боев - каждый с каждым по два раза - и
каждый робот участвует в 40 боях. После каждого боя 2 очка приписывается
роботу-победителю. При ничье каждый робот, участвовавший в бою
получает по 1 очку. Проигравший получает 0. В случае 21 робота,
максимальное количество очков, которое может набрать робот - 80.
Первый робот в каждом классе
по итогам боев в этом классе называется "сквозным" - он переходит в
верхний класс в этих же соревнованиях и воюет также и там.
Вообще процесс игры можно представить так - существует большой
список роботов, расположенных на своих местах по итогам последних
соревнований. Новые роботы помещаются в конец списка по мере
поступления. Алгоритм проведения соревнований:
1. Удаление роботов, которые были удалены игроками
2. Разбиение всего списка роботов на группы по 20 (в последнем классе
допускается наличие от 10 до 29 роботов)
3. Назначение последнего класса текущим
4. Проведение соревнования в текущем классе
5. Если текущий класс не является последним, то пометка последних ТРЕХ
роботов, как переходящих в нижний класс
6. Если текущий класс является последним, то удаление последних ТРЕХ
роботов (ужесточение условий вылета!!!) и роботов, набравших 0 очков
7. Если текущий класс не является первым, то переход робота занявшего
ПЕРВОЕ место в верхний класс ("сквозной робот" или просто "сквозняк" :)
и пометка роботов, занявших ВТОРОЕ и ТРЕТЬЕ место, как переходящих в
верхний класс
8. Если текущий класс является первым, то назначение робота, занявшего
ПЕРВОЕ место, победителем соревнований. Переход к 10
9. Назначение верхнего класса текущим. Переход к 4
10. Перемещение роботов, помеченных как переходящих в верхние или
нижние классы.
11. Объединение всех роботов в один большой список
Shaos