public JogadorSala Adicionar(JogadorSala jogadorSala) { this.Context.JogadoresSala.Add(jogadorSala); this.Context.SaveChanges(); return(jogadorSala); }
private string AlteraVezJogadores(int idJogadorSala) { // Altera termina a vez do jogador atual var jogadorSalaAtual = _jogadorSalaBusiness.Obter(idJogadorSala); if (jogadorSalaAtual == default) { return(String.Empty); } // Lista os jogadores da sala var jogadores = _jogadorSalaBusiness.Listar(jogadorSalaAtual.IdSala).ToList(); // Lógica para encontrar qual o próximo jogador JogadorSala proximoJogadorSala = ObterProximoJogador(jogadorSalaAtual, jogadores); // Dá a vez para o próximo jogador jogadorSalaAtual.FinalizarTurno(); proximoJogadorSala.IniciarTurno(); _jogadorSalaBusiness.Alterar(jogadorSalaAtual); _jogadorSalaBusiness.Alterar(proximoJogadorSala); // Mensagem para o histórico var nickJogador = _jogadorBusiness.Obter(jogadorSalaAtual.IdJogador); var nickProximoJogador = _jogadorBusiness.Obter(proximoJogadorSala.IdJogador); _historicoBusiness.Adicionar(new Historico(proximoJogadorSala.IdSala, $"Player {nickJogador.Descricao} finalizou a rodada, {nickProximoJogador.Descricao}, é a sua vez!")); proximoJogadorSala.HabilitarPalpite(); return(Convert.ToString(proximoJogadorSala.Id)); }
public JogadorSala Alterar(JogadorSala jogador) { var jogadorSala = this.Context.JogadoresSala.SingleOrDefault(_ => _.Id == jogador.Id && _.Ativo); if (jogadorSala != default) { jogadorSala.Alterar(jogador); this.Context.SaveChanges(); } return(jogadorSala); }
private JogadorSala ObterProximoJogador(JogadorSala jogadorSalaAtual, List <JogadorSala> jogadores) { jogadores = jogadores.Where(_ => _.Jogando).ToList(); if (jogadores.Any(_ => _.NumeroOrdem > jogadorSalaAtual.NumeroOrdem)) { return(jogadores.OrderBy(_ => _.NumeroOrdem).First(_ => _.NumeroOrdem > jogadorSalaAtual.NumeroOrdem)); } else { return(jogadores.OrderBy(_ => _.NumeroOrdem).First()); } }
private void DistribuirCartasJogador(JogadorSala jogadorSala) { var jogadoresSala = _jogadorSalaBusiness.Listar(jogadorSala.IdSala).Where(_ => _.Jogando).ToList(); var armasJogador = _armaJogadorSalaBusiness.Listar(jogadorSala.Id); var locaisJogador = _localJogadorSalaBusiness.Listar(jogadorSala.Id); var suspeitosJogador = _suspeitoJogadorSalaBusiness.Listar(jogadorSala.Id); _armaJogadorSalaBusiness.DesabilitarArmasJogador(jogadorSala.Id); _localJogadorSalaBusiness.DesabilitarLocaisJogador(jogadorSala.Id); _suspeitoJogadorSalaBusiness.DesabilitarSuspeitosJogador(jogadorSala.Id); var armas = armasJogador.Select(_ => _.Arma).ToList(); var locais = locaisJogador.Select(_ => _.Local).ToList(); var suspeitos = suspeitosJogador.Select(_ => _.Suspeito).ToList(); DistribuirCartasJogadores(jogadoresSala, armas, locais, suspeitos); }
public JogadorSala Alterar(JogadorSala jogadorSala) { return(_jogadorSalaRepository.Alterar(jogadorSala)); }