public void DesativaJogadorMesa(MesaNvTruco mesa) { if (mesa != null) { var jogs = RetornaJogadoresMesa(mesa).Where(x => x.Usuario.ConnectionId != Context.ConnectionId).ToList(); if (mesa.Ativa) { var usuarios = jogs.Select(x => x.Usuario).ToList(); foreach (var usua in usuarios) { usua.DesativaUsuario(); } mesa.ZeraMesa(); Clients .Clients( NovoTruco.ListUsuarios .Where(x => x.ConnectionId != Context.ConnectionId) .Select(x => x.ConnectionId).ToList()) .abandonarJogoGeral("#" + mesa.MesaId, Context.ConnectionId); if (usuarios.Any()) { Clients.Clients(usuarios.Select(x => x.ConnectionId).ToList()).carregaJogoMesa(); } } else { var numJog = mesa.Jogadores.First(x => x != null && x.Usuario.ConnectionId == Context.ConnectionId); mesa.ExcluiJogador(Context.ConnectionId); Clients.Clients( NovoTruco.ListUsuarios .Where(x => x.ConnectionId != Context.ConnectionId) .Select(x => x.ConnectionId).ToList()) .abandonarJogoMesaJgs("#" + mesa.MesaId, Context.ConnectionId, numJog.NumJogador); } } else { Clients.Clients(NovoTruco.ListUsuarios .Where(x => x.ConnectionId != Context.ConnectionId) .Select(x => x.ConnectionId).ToList()) .abandonarJogoGeral("", Context.ConnectionId); } }
public ViewModelMesa(MesaNvTruco mesa, string numJg) { Mesa = mesa; NumJogador = numJg; }
public void FinalRodada (MesaNvTruco mesa, string idMesa, string idCarta, string backImage, string valor, string idJg, string eWhich, string jgVez) { var condFim = false; Clients.Clients(mesa.Jogadores.Select(x => x.Usuario.ConnectionId).ToList()) .colocaCartaMesa("#" + idCarta, backImage, valor, idJg, eWhich, jgVez); mesa.JogadorVez = int.Parse(jgVez); var retorno = mesa.QuedasJogos.VerificaVencedor(mesa); mesa.Rodada++; if (retorno || mesa.Rodada == 4) { condFim = mesa.QuedasJogos.FechaQueda(); // True = 12 pontos Fecha Partida #region ::: Preenche Parametros ::: var a1 = mesa.QuedasJogos.PntDupla[0].ToString(); var a2 = mesa.QuedasJogos.PntDupla[1].ToString(); var a3 = mesa.QuedasJogos.VitoriasRodada[0].ToString(); var a4 = mesa.QuedasJogos.VitoriasRodada[1].ToString(); var a5 = mesa.JogadorVez.ToString(); #endregion if (!condFim) { Clients.Clients(mesa.Jogadores.Select(x => x.Usuario.ConnectionId).ToList()) .finalizaRodada(a1, a2, a3, a4, a5); } else { var a = mesa.Duplas.First(x => x.Jogador.Any(y => y.NumJogador == mesa.VencedorRodada)); var b = a.Jogador[0].Usuario.Nome + ',' + a.Jogador[0].Usuario.Nome; Clients.Clients(mesa.Jogadores.Select(x => x.Usuario.ConnectionId).ToList()) .finalizaRodadaGeral(a1, a2, a3, a4, a5, b); } mesa.Rodada = 1; } mesa.ListJogadoas.Clear(); if (retorno) { if (!condFim) { ExibeCartasViradas(idMesa); } Clients.Clients(mesa.Jogadores.Select(x => x.Usuario.ConnectionId).ToList()).esconderMesa(mesa.JogadorVez.ToString()); if (mesa.QuedasJogos.MaoJogo == TipoMesa.MaoDeOnze) { var v = RetornaMesaDupla1(mesa, mesa.QuedasJogos.IdDuplaMaoDeOnze); var p = RetornaMesaDupla2(mesa, mesa.QuedasJogos.IdDuplaMaoDeOnze); Clients.Clients(v.Jogador.Select(x => x.Usuario.ConnectionId).ToList()).maoDeOnzeEspera(); Clients.Clients(p.Jogador.Select(x => x.Usuario.ConnectionId).ToList()).maoDeOnzeEscolhe(); } } else { Clients.Clients(mesa.Jogadores.Select(x => x.Usuario.ConnectionId).ToList()).esconderMesa(mesa.JogadorVez.ToString()); } Clients.Clients(mesa.Jogadores.Select(x => x.Usuario.ConnectionId).ToList()) .preenchePainel(mesa.UltimoMao, mesa.JogadorVez, mesa.VencedorRodada); }
public DuplaNvTruco RetornaMesaDupla2(MesaNvTruco mesa, int idDupla) { return(mesa.Duplas.FirstOrDefault(x => x.IdDupla != idDupla)); }
public DuplaNvTruco RetornaDuplasMesa(MesaNvTruco mesa, int numJogador) { //return mesa.Duplas.FirstOrDefault(x => x.Jogador == x.Jogador.Where(y => y.NumJogador == numJogador)); return(mesa.Duplas .FirstOrDefault(x => x.Jogador.Any(y => y.NumJogador == numJogador))); }
public List <JogadorNvTruco> RetornaJogadoresMesa(MesaNvTruco mesa) { return(mesa.Jogadores.Where(x => x != null).ToList()); }