/// <inheritdoc/> public BoringToeMoveResponse PlayerMove(long gameId, BoringToeMoveRequest request) { Player responsePlayer = null; Player player = FindPlayerInDatabase(request.PlayerId, ErrorCode.PLAYER_NOT_EXISTS); ITicTacToe game = FindGameInDatabase(gameId, ErrorCode.GAME_NOT_EXISTS); try { responsePlayer = game.PlayerMove(player, new Coordinate(request.XCoord, request.YCoord)); } catch (TicTacToeGameOverException tttgoe) { return(GenerateGameOverWinnerResponseData(tttgoe.Player, game.GetGrid())); } catch (PlayerMovementException) { return(GenerateRepeatUserResponseData(player, game.GetGrid())); } catch (GameOverException) { return(GenerateGameOverNoWinnerResponseData(game.GetGrid())); } return(GenerateOkNextPlayerResponseData(responsePlayer, game.GetGrid())); }
public ActionResult Put(int id, [FromBody] BoringToeMoveRequest request) { return(Ok(_boringToeService.PlayerMove(id, request))); }