rollergod / TicTacToe

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TicTacToe

тестовое задание от компании "Sense Capital"

Структура папок

Provide an overview of the directory structure and files, for example:

├───TicTacToe.Api
│   ├───Controllers
│   ├───Helpers
│   ├───Interfaces
│   ├───Models
│   │   ├───Errors
│   │   │   └───Exceptions
│   │   └───Intefaces
│   ├───Properties
│   └───Services
└───TicTacToe.Console
    ├───Models
    │   └───Intefaces

Запуск приложения

Скачать либо склонировать проект. Запустить .sln файл в папке проекта. В среде разработки запутсить проект(CTRL+F5)

О приложении

REST api для игры крестики нолики.

Апи имеет 3 endpoint`а

image

  • get /api/game/turn - возвращает ход игрока - X или O.
  • post /api/game - принимает два параметра - координата по оси x и коордитана по оси y. Два раза одни и те же координаты указывать нельзя.
  • post /api/game/new-game - создает новую игру

Пример ввода координат

Request:

POST /game HTTP/1.1
Accept: application/json
Content-Type: application/json
Content-Length: xy

{
    "xCord": "1",
    "yCord": "1" 
}

Successful Response:

HTTP/1.1 200 OK
Server: TicTacToe
Content-Type: application/json
Content-Length: xy

{
   "Ход сделан"
}

Failed Response:

HTTP/1.1 404 BadRequest
Server: TicTacToe
Content-Type: application/json
Content-Length: xy

{
    "code": 404,
    "message": "bad request",
    "resolve": "Координата с позицией x и y занята"
}

HTTP/1.1 404 BadRequest
Server: TicTacToe
Content-Type: application/json
Content-Length: xy

{
    "code": 404,
    "message": "bad request",
    "resolve": "Координаты выходят за пределы таблицы"
}

About


Languages

Language:C# 96.4%Language:Dockerfile 3.6%