The encapsulation of the communication looks like this:
{
id: <client-id / server>,
message:
{
type : <type>,
params : <params>
}
}
The following types of messages are available:
Description | Type | Parameters |
---|---|---|
Name announcement | NAME |
Name as a string |
Vote for movement | MOVE |
Move object {StartCell, EndCell} |
Chat message | CHAT |
Message as a string |
Description | Type | Parameters | Scope |
---|---|---|---|
Team assignment | TEAM |
id of the team | Single user |
Board state | BOARD |
The board as an array | Single user |
Player list | LIST |
The players list | Single user |
ID transmission | ID |
ID as number | Single user |
Vote for movement | NEW_VOTE |
Vote object {player, move} |
Team |
New Chat | INCOMING_TEAM_CHAT |
Chat object {Source, message} |
Team |
New global Chat | INCOMING_GLOBAL_CHAT |
Chat object {Source, message} |
All players |
New server Chat | INCOMING_SERVER_CHAT |
Chat object {Source, message} |
All players |
Move done | MOVED |
Move object {StartCell, EndCell} |
All players |
Result / End of game | RESULT |
id of winner team | All players |
Change of team to play (timeout) | CHANGE |
id of the next team to play | All players |
New Player Joined | NEW_PLAYER |
Player object | All players |
Player left | PLAYER_LEFT |
Player object | All players |
Pseudo already taken | PSEUDO_TAKEN |
nothing | Single user |
Pseudo OK | PSEUDO_OK |
nothing | Single user |
Vote removed by other player | DEL_VOTE |
Vote object {player, move} |
Team |
Player can start playing from now on | PLAY |
nothing | Single user |