Add diagrams and comments
This commit is contained in:
BIN
doc/maze.png
Normal file
BIN
doc/maze.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 35 KiB |
@@ -3,14 +3,14 @@
|
||||
|
||||
## Протокол пользовательского уровня
|
||||
UML-диаграмма протокола пользовательского уровня представлена на рисунке ниже.
|
||||

|
||||

|
||||
|
||||
## Описание работы приложения
|
||||
Сервер `maze-server` ожидает подключения клиентов по протоколу TCP на заданный порт (по умолчанию 1024). После установления соединения сервер запрашивает имя игрока, а затем начинает игру в лабиринте. Лабиринт генерируется случайным образом при старте каждой новой игровой сессии. Гарантируется наличие хотя бы одного пути из начальной точки `(0, 0)` в конечную точку `(2, 2)`. Добавление дополнительных стен происходит с соблюдением условия достижимости цели.
|
||||
Сервер `MazeServer` ожидает подключения клиентов по протоколу TCP на заданный порт (по умолчанию 1024). После установления соединения сервер запрашивает имя игрока, а затем начинает игру в лабиринте. Лабиринт генерируется случайным образом при старте каждой новой игровой сессии. Гарантируется наличие хотя бы одного пути из начальной точки `(0, 0)` в конечную точку `(2, 2)`. Добавление дополнительных стен происходит с соблюдением условия достижимости цели.
|
||||
|
||||
Cхема и нумерация клеток лабиринта представлена на рисунке ниже.
|
||||
|
||||

|
||||

|
||||
|
||||
Клиент отправляет команды движения ("вперёд", "направо", "налево", "назад") или команду "сдаюсь" для завершения игры. Сервер обрабатывает команды, проверяет возможность хода, обновляет состояние лабиринта и отправляет клиенту текстовый ответ с результатом хода, количеством оставшихся ходов и текущей позицией (в формате координат). Игра завершается, если игрок достигает конечной точки (позиция 8), исчерпывает ходы или сдаётся.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user