Skip to content
micyril edited this page Dec 3, 2013 · 2 revisions

Порядок отправки данных подключенному клиенту:

  1. Подключение клиента
  2. {"mtype": "self_info", "id": id}
    id клиента
  3. Ожидание соперника
  4. {"mtype": "enemy_info", "id": id}
    id соперника
  5. {"mtype": "game_info", "world": {"width": w, "height": h, "viewsize": vs, "viewangle": va}}
    w – ширина поля
    h – высота поля
    vs – дальность видимости (радиус видимого сектора)
    va – угол обзора (угол видимого сектора)
  6. {"mtype": "action", "action": "start"}
  7. Далее отправляется при каждом обновлении
    {"mtype": "action", "action": "update", "viewpoint": {"x": x, "y": y}, "mapelements": [
    	{"position": {"x": x, "y": y}, "width": w, "height": h, "angle": a, "rotationcenter": {"x": x, "y": y}, "type": t, "id": id}
    ]}
    position – координаты левого верхнего угла
    w – ширина
    h – высота
    a – угол поворота
    rotationcenter – координаты, вокруг которых вращать (абсолютные, т.е. в мировой системе координат)
    t – тип mapElement’а. Реализованные типы: RobotFrame, GunBarrel, Bullet
    id – уникальный номер элемента
    robotId – уникальный номер робота (указывается, если тип mapElement’a относится к частям робота)
    viewpoint – координаты точки обзора, от которой рисовать видимый сектор (положение игрока)
  8. {"mtype": "action", "action": "finish", "winner": id}
    id победителя
Clone this wiki locally