Revert prior attempted optimisation. Gridding the land pays in some situations, but not all. Restricting to an upper bound might help, but overall, seems too fuzzy to be worth it. On one side is increased cost of Add/Delete + extra test on collision check, on the other is skipping the list iteration. Perhaps for large lists.
'?' ping?
'!' pong!
'l','L' срабатывание команд -left, +left
'r','R' -right, +right
'u','U' -up, +up
'd','D' -down, +down
'z', 'Z' -precise, +precise
'N' срабатывание команды /nextturn
'S' /switch
's' + <текст> /say
'+' пустой пакет для постоянности лага
'1'..'5' /timer 1..5
chr(128+№) /slot №
'w' /setweap
'p' /put
'j' /ljump
'J' /hjump
'E' + <текст> сообщение об ошибке
',' /skip
'K' вывести сообщение из KB
'Q' выход через команду /quit
'q' выход по причине окончания игры
't' + № /taunt №
'F' + <team> команда team вылетела в сетевой игре
фронтенд клиенту:
'e' + <команда> выполнить "/<команда>"
'T' + {L,N,D} тип игры (локальная, сетевая, просмотр демо)
'W' + <текст> сообщение о нефатальной ошибке
Клиент фронтенду:
'C' запрос текущего конфига игры
'q' выход по причине окончания демки
'i' статистика