-
Notifications
You must be signed in to change notification settings - Fork 0
Graphics API
micyril edited this page Dec 3, 2013
·
2 revisions
Порядок отправки данных подключенному клиенту:
- Подключение клиента
-
{"mtype": "self_info", "id": id}
id клиента - Ожидание соперника
-
{"mtype": "enemy_info", "id": id}
id соперника -
{"mtype": "game_info", "world": {"width": w, "height": h, "viewsize": vs, "viewangle": va}}
w – ширина поля
h – высота поля
vs – дальность видимости (радиус видимого сектора)
va – угол обзора (угол видимого сектора) {"mtype": "action", "action": "start"}
- Далее отправляется при каждом обновлении
position – координаты левого верхнего угла{"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} ]}
w – ширина
h – высота
a – угол поворота
rotationcenter – координаты, вокруг которых вращать (абсолютные, т.е. в мировой системе координат)
t – тип mapElement’а. Реализованные типы: RobotFrame, GunBarrel, Bullet
id – уникальный номер элемента
robotId – уникальный номер робота (указывается, если тип mapElement’a относится к частям робота)
viewpoint – координаты точки обзора, от которой рисовать видимый сектор (положение игрока) -
{"mtype": "action", "action": "finish", "winner": id}
id победителя