Пример #1
0
        public string[] ContabilizaCorrerTruco(MesaNvTruco mesa)
        {
            //var duplaPerdeu = mesa.Duplas.First(x => x.IdDupla != mesa.QuedasJogos.IdDuplaTruco);
            var duplaGanhou = mesa.Duplas.FirstOrDefault(x => x.IdDupla == mesa.QuedasJogos.IdDuplaTruco);

            if (duplaGanhou != null)
            {
                PntDupla[duplaGanhou.IdDupla] = PntDupla[duplaGanhou.IdDupla] +
                                                (int.Parse(ValorPonto.GetHashCode().ToString()));

                mesa.PainelCtrl.AdicionaPontosRodada(duplaGanhou.IdDupla, int.Parse(ValorPonto.GetHashCode().ToString()));

                var condFim = mesa.QuedasJogos.FechaQueda();

                mesa.JogadorVez = mesa.ProxJogadorVez(mesa.UltimoMao);
                mesa.UltimoMao  = mesa.JogadorVez;
                mesa.PainelCtrl.AtualizaJogVezVenc(mesa.JogadorVez, mesa.VencedorRodada);
                return(new[]
                {
                    PntDupla[0].ToString(),
                    PntDupla[1].ToString(),
                    VitoriasRodada[0].ToString(),
                    VitoriasRodada[1].ToString(),
                    mesa.JogadorVez.ToString()
                });
            }
            return(null);
        }
Пример #2
0
        public bool ContabilizaRodadaVitoria(MesaNvTruco mesa, TipoTruco tipoTruco)
        {
            var dupla = mesa.Duplas
                        .First(x => x.Jogador.Any(y => y.NumJogador == mesa.VencedorRodada));
            var ponto = int.Parse(tipoTruco.GetHashCode().ToString());

            switch (mesa.Rodada)
            {
            case 1:
                Rodadas[0] = dupla.IdDupla;
                //mesa.PainelCtrl.AdicionaPontosRodada(dupla.IdDupla, ponto);
                mesa.PainelCtrl.AtualizaRodada(dupla.IdDupla);
                return(false);

            case 2:
                if (Rodadas[0] == dupla.IdDupla || Rodadas[0] == 3)
                {
                    mesa.PainelCtrl.AdicionaPontosRodada(dupla.IdDupla, ponto);
                    PntDupla[dupla.IdDupla] = PntDupla[dupla.IdDupla] + ponto;
                    return(true);
                }
                Rodadas[1] = dupla.IdDupla;
                mesa.PainelCtrl.AtualizaRodada(dupla.IdDupla);
                //mesa.PainelCtrl.AdicionaPontosRodada(dupla.IdDupla, ponto);
                return(false);

            case 3:
                mesa.PainelCtrl.AdicionaPontosRodada(dupla.IdDupla, ponto);
                PntDupla[dupla.IdDupla] = PntDupla[dupla.IdDupla] + ponto;
                return(true);

            default:
                return(false);
            }
        }
Пример #3
0
        public bool VerificaVencedor(MesaNvTruco mesa)
        {
            var jogVencedor = RegraJogo.TestaValoresCartas(mesa.ListJogadoas);

            mesa.VencedorRodada = jogVencedor;

            if (jogVencedor != 0) // Vitoria
            {
                var retorno = ContabilizaRodadaVitoria(mesa, ValorPonto);
                if (retorno)
                {
                    mesa.JogadorVez = mesa.ProxJogadorVez(mesa.UltimoMao);
                    mesa.UltimoMao  = mesa.JogadorVez;
                    mesa.PainelCtrl.AtualizaJogVezVenc(mesa.JogadorVez, mesa.VencedorRodada);
                    return(true);
                }

                mesa.JogadorVez = jogVencedor;
                mesa.PainelCtrl.AtualizaJogVezVenc(mesa.JogadorVez, mesa.VencedorRodada);
                return(false);
            }

            // Empate
            var result = ContabilizaRodadaEmpate(mesa, ValorPonto);

            if (result)
            {
                mesa.JogadorVez = mesa.ProxJogadorVez(mesa.UltimoMao);
                mesa.UltimoMao  = mesa.JogadorVez;
            }

            mesa.PainelCtrl.AtualizaJogVezVenc(mesa.JogadorVez, mesa.VencedorRodada);
            return(result);
        }
Пример #4
0
        public bool ContabilizaRodadaEmpate(MesaNvTruco mesa, TipoTruco tipoTruco)
        {
            switch (mesa.Rodada)
            {
            case 1:
                mesa.VencedorRodada = 8;
                mesa.JogadorVez     = mesa.ProxJogadorVez(mesa.JogadorVez);
                mesa.PainelCtrl.AtualizaRodada(0);
                mesa.PainelCtrl.AtualizaRodada(1);
                return(false);

            case 2:
                if (Rodadas[0] == 3)
                {
                    mesa.PainelCtrl.AtualizaRodada(0);
                    mesa.PainelCtrl.AtualizaRodada(1);
                    return(false);
                }

                var a = mesa.Duplas.First(x => x.IdDupla == IdDupla[Rodadas[0]]);
                var b = mesa.ListJogadoas
                        .First(x => x.Value == mesa.ListJogadoas.Max(y => y.Value) && (x.Key == a.Jogador[0].NumJogador || x.Key == a.Jogador[1].NumJogador))
                        .Key;
                mesa.VencedorRodada  = b;
                PntDupla[Rodadas[0]] = PntDupla[Rodadas[0]] + (int.Parse(tipoTruco.GetHashCode().ToString()));
                mesa.PainelCtrl.AdicionaPontosRodada(Rodadas[0], (int.Parse(tipoTruco.GetHashCode().ToString())));
                return(true);

            case 3:
                if (Rodadas[1] != 3)
                {
                    var a1 = mesa.Duplas.First(x => x.IdDupla == IdDupla[Rodadas[0]]);
                    var b2 = mesa.ListJogadoas
                             .First(x => x.Value == mesa.ListJogadoas.Max(y => y.Value) && (x.Key == a1.Jogador[0].NumJogador || x.Key == a1.Jogador[1].NumJogador))
                             .Key;
                    mesa.VencedorRodada  = b2;
                    PntDupla[Rodadas[0]] = PntDupla[Rodadas[0]] + (int.Parse(tipoTruco.GetHashCode().ToString()));
                    mesa.PainelCtrl.AdicionaPontosRodada(Rodadas[0], (int.Parse(tipoTruco.GetHashCode().ToString())));
                }
                return(true);

            default:
                return(false);
            }
        }