public IActionResult MakeMove(Guid gameId, string playerId, MakeMoveRequest request) { var move_number = _service.MakeMove(gameId, playerId, request.column); var response = new MakeMoveResponse($"{gameId}/moves/{move_number}"); return(Ok(response)); }
public async Task <MakeMoveResponse> MakeMove(Guid mazeId, Direction direction) { var request = new MakeMoveRequest() { Direction = direction }; using (var client = GetClient()) { var content = new StringContent(JObject.FromObject(request).ToString(), Encoding.UTF8, "application/json"); var response = await client.PostAsync($"pony-challenge/maze/{mazeId}", content); var responseDataString = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { try { var jObj = JObject.Parse(responseDataString); return(jObj.ToObject <MakeMoveResponse>()); } catch { throw new Exception("MakeMove: Received invalid json data"); } } else { throw new PonyClientException(responseDataString); } } }
public async Task <IActionResult> MakeMove(string gameId, [FromBody] MakeMoveRequest request, CancellationToken cancellationToken) { var userId = User.GetUserId(); var command = MakeMoveMapper.ToCommand(gameId, userId, request); await _makeMoveCommandHandler.HandleAsync(command, cancellationToken).ConfigureAwait(false); return(Ok()); }
public async Task <IActionResult> MakeMove(MakeMoveRequest makeMoveRequest) { var game = _directChessRepository.GetGameByPlayerKey(makeMoveRequest.PlayerKey); await _directChessRepository.MakeMove( game.GameId, makeMoveRequest.PlayerKey, new Field(makeMoveRequest.FromField), new Field(makeMoveRequest.ToField)); return(Ok()); }
private async Task <MakeMoveModel> MakeMoveAsync(Guid mazeId, string direction) { var makeMoveRequest = new MakeMoveRequest { Direction = direction }; var makeMoveResponse = await ApiClient.MakeMoveAsync(mazeId, makeMoveRequest); ThrowIfNotSuccess(makeMoveResponse); return(makeMoveResponse.Value); }
public async Task MakeMove(MakeMoveRequest request) { var result = await _mediator.Send(request); string groupName = request.GameId.ToString(); await Clients.Group(groupName).SendAsync("BoardRefreshed", result.Board); await Clients.Group(groupName).SendAsync("TurnRefreshed", result.CurrentTurn); if (result.Winner != null) { await Clients.Group(groupName).SendAsync("GameOver", result.Winner); } }
public static MakeMoveCommand ToCommand(string gameId, string playerId, MakeMoveRequest request) { if (request == null) { throw new ArgumentNullException(nameof(request)); } return(new MakeMoveCommand { GameId = gameId, PlayerId = playerId, Row = request.Row, Column = request.Column, }); }
public virtual Tuple <ClientSettings, GameState <ClientState, Move> > PostToClientSettingsAndState([FromBody] MakeMoveRequest <Settings, State, Move> req) { return(GetFiatGame().ToClientSettingsAndState(req.player, req.settings, req.state)); }
public virtual bool PostIsMoveValid([FromBody] MakeMoveRequest <Settings, State, Move> req) { return(GetFiatGame().IsMoveValid(req.player, req.settings, req.state, req.move)); }
public virtual GameState <State, Move> PostMakeMove([FromBody] MakeMoveRequest <Settings, State, Move> req) { return(GetFiatGame().MakeMove(req.player, req.settings, req.state, req.move)); }
public async Task <ApiResponse <MakeMoveModel> > MakeMoveAsync(Guid mazeId, MakeMoveRequest makeMoveRequest) { var uri = string.Format(MakeMoveEndpoint, mazeId); return(await PostAsync <MakeMoveModel, MakeMoveRequest>(uri, makeMoveRequest)); }
public override GameState <State, Move> PostMakeMove(MakeMoveRequest <Settings, State, Move> req) { var a = base.PostMakeMove(req); return(a); }