Крестики-нолики, ни**я себе
v0.0.1
createRoom
- Создаёт новую комнату для игры
Параметры
-
room_name - Наименование комнаты (Обязательное поле)
-
player_id - Уникальный код игрока, значение может быть любым на время сеанса (Обязательное поле)
-
room_pass - Пароль комнаты (Необзяательно)
Пример запроса в виде URL:
https://1c.deer.li/api/games/tictactoe/createRoom?room_name=Test name&player_id=1111
Ответ
-
room_id - Уникальный ID комнаты
-
room_name - Наименование созданной комнаты
-
room_pass - Пароль созданной комнаты
-
room_status - Статус новой комнаты. waiting - ожидание подключения игрока
-
room_hash - Уникальный хэш комнаты. Требуется для подтверждения хода в дальнейших командах
Пример ответа в виде JSON:
{
"status": "success",
"data": {
"room_id": 20,
"room_name": "Test name",
"room_pass": "",
"room_status": "waiting",
"room_hash": 439886815
},
"user_message": null,
"timestamp": "2024-05-24T07:44:35Z",
"request_id": "66504563ad789"
}
checkRoom
- Проверяет статус комнаты и её доступность
Параметры
-
room_id - Наименование комнаты (Обязательное поле)
Пример запроса в виде URL:
https://1c.deer.li/api/games/tictactoe/checkRoom?room_id=9
Ответ
-
room_id - Уникальный ID комнаты
-
room_name - Наименование комнаты
-
player1_wins - Количество побед первого игрока
-
player2_wins - Количество побед второго игрока
-
current_turn - ID игрока, чей сейчас ход
-
status - Статус комнаты. Может быть 3 значения: "waiting" - ожидается второй игрок, "in_game" - в игре, "finished" - завершена
-
field - Текущее игровое поле, где 0 - пустая клетка, 1 - крестик, 2 - нолик. Порядок начинаетя с верхнего левого угла, слева-направо, сверху-вниз
Пример ответа в виде JSON:
{
"status": "success",
"data": {
"id": 9,
"room_name": "123",
"player1_wins": 1,
"player2_wins": 1,
"current_turn": 123,
"status": "in_game",
"field": "000000100"
},
"user_message": null,
"timestamp": "2024-05-24T10:12:32Z",
"request_id": "6650681050aa3"
}
joinRoom
- Подключиться к открытой комнате
Параметры
-
room_id - Уникальный ID комнаты (Обязательное поле)
-
player_id - Уникальный ID второго игрока (Обязательное поле)
-
room_pass - Пароль от комнаты (Обязателен, если задан пароль для комнаты)
Пример запроса в виде URL:
https://1c.deer.li/api/games/tictactoe/joinRoom?room_id=14&player_id=4214
Ответ
-
result - Если success - то подключение к комнате успешно получено
-
room_hash - Уникальный хэш комнаты, требуется для подтверждения ходов обоих игроков
-
room_id - Уникальный ID комнаты
Пример ответа в виде JSON:
{
"status": "success",
"data": {
"result": "success",
"room_hash": "974404509",
"room_id": 14
},
"user_message": null,
"timestamp": "2024-05-24T10:21:53Z",
"request_id": "66506a4103cc2"
}
makeMove
- Сделать ход в комнате
Параметры
-
room_id - Уникальный ID комнаты (Обязательное поле)
-
room_hash - Хэш комнаты для подтверждения хода (Обязательное поле)
-
player_id - Текущий код пользователя (Обязательное поле)
-
position - Позиция, куда ставить крестик или нолик. Зависит от пользователя. Может принимать значения от 0 до 8, где 0 - левая верхняя ячейка (Обязательное поле)
Пример запроса в виде URL:
https://1c.deer.li/api/games/tictactoe/makeMove?room_id=9&player_id=111&room_hash=333&position=6
Ответ
-
result - Если success - то текущий ход был успешно походен
-
player1_wins - Количество побед первого игрока
-
player2_wins - Количество побед второго игрока
-
current_turn - Номер игрока, чей сейчас ход
-
status - Статус комнаты. Может быть 3 значения: "waiting" - ожидается второй игрок, "in_game" - в игре, "finished" - завершена
-
field - Текущее игровое поле, где 0 - пустая клетка, 1 - крестик, 2 - нолик. Порядок начинаетя с верхнего левого угла, слева-направо, сверху-вниз
-
winner - Текущий победитель, после данного хода, где 0 - победителя ещё нет, игра продолжается, 1 - победил игрок player1, 2 - победил игрок player2. После определения победы, сбрасываются данные поля field
Пример ответа в виде JSON:
{
"status": "success",
"data": {
"result": "success",
"room_id": 9,
"field": "000000100",
"current_turn": 2,
"winner": 0,
"player1_wins": 1,
"player2_wins": 1
},
"user_message": null,
"timestamp": "2024-05-24T06:53:05Z",
"request_id": "66503951d7558"
}