Клиент: показ боя

Расчет боя выполняется на сервере, клиент получает запись боя. Запись содержит следующие сведения:

  • Тип боя (тренировочный/рейтинговый).
  • Количество участников.
  • Состав участников. Для каждой змеи выдается следующая информация:
    • тип змеи (временная/закрытая/обычная/бот);
    • идентификатор змеи (для временной змеи - 0);
    • номер версии программы змеи;
    • имя змеи;
    • номер окраски змеи;
    • идентификатор владельца змеи;
    • имя владельца змеи;
    • длина змеи по итогам боя;
    • рейтинг владельца до начала боя (для рейтинговых боев);
    • рейтинг владельца по итогам боя (для рейтинговых боев).
  • Лимит ходов.
  • Количество сделанных ходов.
  • Причина завершения боя (осталась одна змея/исчерпан лимит ходов/отсутствуют возможные ходы).
  • Запись ходов: массив, каждый элемент которого кодирует очередность шагов и направление движения.
  • Отладочная информация (необязательно).

Если в бою участвуют боты или змеи, принадлежащие текущему игроку, то запись боя содержит отладочную информацию: для каждого хода каждой такой змеи указывается номер использованной карты (1 – 9), ее поворот (0 – 3) и наличие отражения (0/1); либо причина, по которой ни одна карта не была использована (змея съедена/нет возможных ходов/единственный возможный ход/нет подходящей карты).

Клиент должен выполнять следующие задачи:

  • запуск и остановка показа боя;
  • перемотка записи к указанному номеру хода;
  • пошаговый показ боя.

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

 
projects/snakes/tasks/client-play.txt · Последнее изменение: d.m.Y H:i — AVA12
 
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki