Beispiel #1
0
        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;
 }
Beispiel #3
0
        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);
        }
Beispiel #4
0
 public DuplaNvTruco RetornaMesaDupla2(MesaNvTruco mesa, int idDupla)
 {
     return(mesa.Duplas.FirstOrDefault(x => x.IdDupla != idDupla));
 }
Beispiel #5
0
 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)));
 }
Beispiel #6
0
 public List <JogadorNvTruco> RetornaJogadoresMesa(MesaNvTruco mesa)
 {
     return(mesa.Jogadores.Where(x => x != null).ToList());
 }