diff options
Diffstat (limited to '')
| -rw-r--r-- | content/posts/2024-12-12-guessr/index.md (renamed from content/posts/2024-12-12-guessr.md) | 88 |
1 files changed, 46 insertions, 42 deletions
diff --git a/content/posts/2024-12-12-guessr.md b/content/posts/2024-12-12-guessr/index.md index 235901c..39c5c54 100644 --- a/content/posts/2024-12-12-guessr.md +++ b/content/posts/2024-12-12-guessr/index.md @@ -1,13 +1,13 @@ --- categories: -- Мои проекты -date: '2024-12-12T22:27:49+03:00' -description: '' -image: files/2024-12-12-guessr_logo.webp + - Мои проекты +date: "2024-12-12T22:27:49+03:00" +description: "" +image: guessr_logo.webp location: Казань tags: -- IT -- Проект выходного дня + - IT + - Проект выходного дня title: Guessr --- @@ -38,46 +38,50 @@ https://git.neonxp.ru/guessr.git/ - Создание новой игровой сессии, в ответ ставится кука внутри которой зашифровано текущее состояние — ник, количество очков, ID текущего угадываемого объекта (в начале пустое). - ```http - POST /api/state - Content-Type: application/json - - { - "username": "NeonXP" - } - ``` + + ```http + POST /api/state + Content-Type: application/json + + { + "username": "NeonXP" + } + ``` - Получение состояния. Просто возвращает вышеуказанные параметры - ```http - GET /api/state - ``` + + ```http + GET /api/state + ``` - Выдача нового объекта для угадывания. При этом возвращается ссылка на фото и обновляется состояние, тем что в него вписывается ID объекта - ```http - POST /api/next - ``` + + ```http + POST /api/next + ``` - Угадывание. Собственно, на вход передаются координаты куда на карте указал игрок. А в ответ возвращается: - - Название объекта - - Расстояние от переданной точки до реального размещения объекта - - Geojson строка в которой зашифрована линия соединяющая точку и объект (нужна - для отрисовки красной линии на карте) - - При этом высчитываются очки которые получает игрок за попытку по формуле - max(1000-d, 0), где d - расстояние между выбранной точкой и объектом в метрах. - То есть, если разница меньше 1000м, то чем ближе - тем больше очков (максимум - 1000 очков за 1 очень точное угадывание). - ```http - POST /api/guess - Content-Type: application/json - - { - "lat": 55.123, - "lon": 49.123 - } - ``` + - Название объекта + - Расстояние от переданной точки до реального размещения объекта + - Geojson строка в которой зашифрована линия соединяющая точку и объект (нужна + для отрисовки красной линии на карте) + + При этом высчитываются очки которые получает игрок за попытку по формуле + max(1000-d, 0), где d - расстояние между выбранной точкой и объектом в метрах. + То есть, если разница меньше 1000м, то чем ближе - тем больше очков (максимум + 1000 очков за 1 очень точное угадывание). + + ```http + POST /api/guess + Content-Type: application/json + + { + "lat": 55.123, + "lon": 49.123 + } + ``` Вот в общем-то и всё API! @@ -122,9 +126,9 @@ err := p.db.NewSelect(). - [ ] Авторизация и общая доска лидерства - [ ] После угадывания спрашивать у игрока «сложность», чтобы потом можно было, - например, настраивать чтобы попадались только простые объекты. И, например, - разное количество очков за простые и сложные объекты + например, настраивать чтобы попадались только простые объекты. И, например, + разное количество очков за простые и сложные объекты - [ ] Подумать как вынести игру в оффлайн, по типу того же ингресса. Это сложно - и предстоит хорошо это обдумать + и предстоит хорошо это обдумать -Как-то так :) А впереди новые выходные и новые «проекты выходного дня»!
\ No newline at end of file +Как-то так :) А впереди новые выходные и новые «проекты выходного дня»! |
