コード例 #1
0
 public RodadaBase(Carta [] cartaMesa, uint valorPotePreRodada, TipoRodada tipo)
 {
     this.TipoRodada         = tipo;
     this.CartasMesa         = cartaMesa;
     this.ValorPotePreRodada = valorPotePreRodada;
     this.pilhaAcoes         = new List <IAcaoTomada>();
 }
コード例 #2
0
        public uint ValorMomento(TipoRodada tipo)
        {
            switch (tipo)
            {
            case TipoRodada.PreJogo: return(this.Ant);

            case TipoRodada.Flop: return(this.Flop);

            case TipoRodada.Turn: return(this.Turn);

            case TipoRodada.River: return(this.River);

            default: return(0);
            }
        }
コード例 #3
0
ファイル: DealerPartida.cs プロジェクト: rafontas/PokerVerde
        //TODO: verificar se melhor maneira de contornar o virtual
        public virtual void VerificarGanhadorPartida(IPartida p)
        {
            int        jogadorVencedor;
            TipoRodada tipoRodada = p.Rodadas.Last().TipoRodada;

            if ((tipoRodada == TipoRodada.PreFlop) ||
                (tipoRodada == TipoRodada.Flop) ||
                (tipoRodada == TipoRodada.Turn) ||
                (tipoRodada == TipoRodada.FimDeJogo && p.Rodadas.Count < 5))
            {
                jogadorVencedor = -1;
            }
            else if (tipoRodada == TipoRodada.River)
            {
                jogadorVencedor = this.RetornaMelhorMaoPartidaFinalizada(p);
            }
            else
            {
                throw new DealerException("Passada partida em rodada errada para atribuir vencedor.");
            }

            switch (jogadorVencedor)
            {
            case -1:
                p.JogadorGanhador = VencedorPartida.Banca;
                break;

            case 0:
                p.JogadorGanhador = VencedorPartida.Empate;
                break;

            case 1:
                p.JogadorGanhador = VencedorPartida.Jogador;
                break;

            default:
                throw new DealerException("Erro ao comparar mão dos jogadores. Retornado valor não previsto.");
            }
        }
コード例 #4
0
 public string JustificativaAcao(TipoRodada tipoRodada) => string.Empty;
コード例 #5
0
 public abstract AcaoJogador ExecutaAcao(TipoRodada tipoRodada, uint valor, Carta[] cartasMesa);
コード例 #6
0
 public RodadaTHB(TipoRodada tp, uint valorPotePreRodada, Carta[] cartaMesa) : base(cartaMesa, valorPotePreRodada, tp)
 {
 }