public void getStackSaldoFinalTest() { ConfiguracaoTHBonus config = Configuracao.configPadrao; Comum.Mesa m = new Comum.Mesa(config); ICroupier dealer = new Croupier(m, new Banca(config)); IJogador j = new DummyJogadorTHB(config, 1500); m.AddParticipante(j); int stackInicial = 1500, stackFinal = 1500, saldoFinal = 0; int qtdPerdida = 0, qtdGanho = 0, qtdEmpate = 0, numJogos = 100; for (int i = 0; i < numJogos; i++) { dealer.ExecutarNovaPartidaCompleta(); } qtdPerdida = j.Historico.Where(x => x.JogadorGanhador == Enuns.VencedorPartida.Banca).Count(); qtdGanho = j.Historico.Where(x => x.JogadorGanhador == Enuns.VencedorPartida.Jogador).Count(); qtdEmpate = j.Historico.Where(x => x.JogadorGanhador == Enuns.VencedorPartida.Empate).Count(); stackFinal -= (15 * qtdPerdida); stackFinal += (10 * qtdGanho); saldoFinal = (stackFinal - stackInicial); Assert.IsTrue(saldoFinal == j.Estatistica.getStackSaldoFinal()); }
public void CartasMandatorias_1() { IJogador jogador = new DummyJogadorTHB(DealerPartidaTest.configPadrao); Carta[] cartasJogador = new Carta[] { new Carta(10, Enuns.Naipe.Copas), new Carta(10, Enuns.Naipe.Paus) }; IJogador banca = new Banca(DealerPartidaTest.configPadrao); Comum.Mesa m = new Comum.Mesa(DealerPartidaTest.configPadrao); int quantidadeJogos = 5; CroupierConstructParam param = new CroupierConstructParam() { CartasJogador = cartasJogador, Jogador = jogador, Banca = banca, ConfiguracaoPoker = DealerPartidaTest.configPadrao }; ICroupier croupier = new Croupier(param); for (int i = 0; i < quantidadeJogos; i++) { croupier.ExecutarNovaPartidaCompleta(); IPartida p = jogador.Historico.Last(); Assert.IsTrue(p.Jogador.Cartas.Contains(cartasJogador[0]) && p.Jogador.Cartas.Contains(cartasJogador[1])); } }
public void HaJogadoresParaJogar_1() { IJogador j = new DummyJogadorTHB(DealerPartidaTest.configPadrao); IJogador banca = new Banca(DealerPartidaTest.configPadrao); Comum.Mesa m = new Comum.Mesa(DealerPartidaTest.configPadrao); IDealerPartida d = new DealerPartida(m, banca); Assert.AreNotEqual(d.Mesa.JogadoresNaMesa.Count, 1); d.Mesa.AddParticipante(j); Assert.AreEqual(d.Mesa.JogadoresNaMesa.Count, 1); }
public void getStackInicialTest() { ConfiguracaoTHBonus config = Configuracao.configPadrao; Comum.Mesa m = new Comum.Mesa(config); ICroupier dealer = new Croupier(m, new Banca(config)); IJogador j = new DummyJogadorTHB(config, 1500); m.AddParticipante(j); int stackInicial = 1500; dealer.ExecutarNovaPartidaCompleta(); Assert.IsTrue(stackInicial == j.Estatistica.getStackInicial()); }
internal IPartida GetBancaGanhou() { uint stackInicialJogador = 20000; Comum.Mesa m = new Comum.Mesa(this.ConfiguracaoPadrao); ICroupier dealer = new Croupier(m, new Banca(this.ConfiguracaoPadrao)); IJogador jogador = new DummyJogadorTHB(this.ConfiguracaoPadrao, stackInicialJogador); m.AddParticipante(jogador); dealer.ExecutarNovaPartidaCompleta(); while (dealer.HaParticipantesParaJogar() && jogador.Historico.Last().JogadorGanhador != Enuns.VencedorPartida.Banca) { dealer.ExecutarNovaPartidaCompleta(); } return(jogador.Historico.Last()); }
public void getQuantidadeJogosJogadosTest() { ConfiguracaoTHBonus config = Configuracao.configPadrao; Comum.Mesa m = new Comum.Mesa(config); int numeroPartidas = 5; ICroupier dealer = new Croupier(m, new Banca(config)); IJogador j = new DummyJogadorTHB(config); m.AddParticipante(j); dealer.ExecutarNovaPartidaCompleta(); dealer.ExecutarNovaPartidaCompleta(); dealer.ExecutarNovaPartidaCompleta(); dealer.ExecutarNovaPartidaCompleta(); dealer.ExecutarNovaPartidaCompleta(); Assert.IsTrue(numeroPartidas == j.Estatistica.getQuantidadeJogosJogados()); }
static void ExecutaCorrida() { IJogador jogador = new DummyJogadorTHB(Program.configPadrao, 1000, new DummyInteligencia()); jogador.Corrida = new Corrida(2); ISitAndGo SitAndGo = new BuilderSitAndGo(new ConfiguracaoTHBonus()) .addJogador(jogador) .ToSitAndGo(); SitAndGo.Executa(); IImprimePartida imp = jogador.ImprimePartida.First(); string content = imp.pequenoResumo(jogador.Historico) + Environment.NewLine; content += "Resumo das Partidas: " + Environment.NewLine; content += imp.pequenoResumoTodasPartidas(jogador.Historico); content += Environment.NewLine; Program.SalvaArquivo(content); }
public void JogadorPassadoParamentroGanhouTest() { int qtdItensDeRetornoUnico = 800; int qtdItensNaLista = 137; uint stackInicialJogador = 20000; PartidaFactory partidaFactory = new PartidaFactory(); IJogador j = new DummyJogadorTHB(this.ConfiguracaoPadrao, stackInicialJogador); IJogador j1 = new DummyJogadorTHB(this.ConfiguracaoPadrao, stackInicialJogador); // TESTE - retorno unitario partida for (int i = 0; i < qtdItensDeRetornoUnico; i++) { Assert.IsTrue(partidaFactory.GetJogadorGanhou(j1).JogadorGanhador == Enuns.VencedorPartida.Jogador); } // TESTE - retorno listaf IList <IPartida> listaPartida = partidaFactory.GetJogadorGanhou(qtdItensNaLista, j1); Assert.IsTrue(listaPartida.Count == qtdItensNaLista); Assert.IsTrue(0 == listaPartida.Where(p => p.JogadorGanhador == Enuns.VencedorPartida.Banca).Count()); Assert.IsTrue(0 == listaPartida.Where(p => p.JogadorGanhador == Enuns.VencedorPartida.Empate).Count()); Assert.IsTrue(qtdItensNaLista == listaPartida.Where(p => p.JogadorGanhador == Enuns.VencedorPartida.Jogador).Count()); }
public void PartidaJogadorGanha_1() { uint stackJogadorInicial = 500, valorStackJogadorAposPagarAnt = 495, valorStackJogadorAposPagarFlop = 485, valorPortMesaAposPreFlop = (5 + 10 + 10); IJogador jog = new DummyJogadorTHB(PartidaIntegracaoTest.configPadrao, stackJogadorInicial); IJogador banca = new Banca(PartidaIntegracaoTest.configPadrao); ICroupier dealer = new Croupier( new Comum.Mesa(PartidaIntegracaoTest.configPadrao), banca, jog ); dealer.IniciarNovaPartida(); //pre Jogo // Pre-jogo (Paga ant, distribui carta ao jogador, adiciona rodada) IPartida p = dealer.Mesa.PartidasAtuais[jog]; p.AddToPote(jog.PagarValor(PartidaIntegracaoTest.configPadrao.Ant), TipoJogadorTHB.Jogador); jog.ReceberCarta(new Carta(10, Enuns.Naipe.Copas), new Carta(9, Enuns.Naipe.Copas)); p.AddRodada(new RodadaTHB(Enuns.TipoRodada.PreFlop, p.PoteAgora, null)); Assert.IsTrue(valorStackJogadorAposPagarAnt == jog.Stack); // Pre-flop (Pagar para ver flop) p.AddToPote(jog.PagarValor(PartidaIntegracaoTest.configPadrao.Flop), TipoJogadorTHB.Jogador); p.AddToPote(banca.PagarValor(PartidaIntegracaoTest.configPadrao.Flop), TipoJogadorTHB.Banca); p.AddRodada(new RodadaTHB(Enuns.TipoRodada.Flop, p.PoteAgora, p.CartasMesa)); Assert.IsTrue(jog.Stack == valorStackJogadorAposPagarFlop); // stack jogador Assert.IsTrue(p.PoteAgora == valorPortMesaAposPreFlop); // pote banca // Flop (Revelar Flop - Perguntar pagar turn) Carta[] flop = new Carta[] { new Carta(12, Enuns.Naipe.Copas), new Carta(13, Enuns.Naipe.Copas), new Carta(11, Enuns.Naipe.Copas) }; typeof(Partida).GetProperty("Flop").SetValue(p, flop); p.AddRodada(new RodadaTHB(Enuns.TipoRodada.Turn, p.PoteAgora, p.CartasMesa)); // Turn Carta turn = new Carta(4, Enuns.Naipe.Paus); typeof(Partida).GetProperty("Turn").SetValue(p, turn); p.AddRodada(new RodadaTHB(Enuns.TipoRodada.River, p.PoteAgora, p.CartasMesa)); // River Carta river = new Carta(8, Enuns.Naipe.Ouros); typeof(Partida).GetProperty("River").SetValue(p, river); banca.ReceberCarta(new Carta(2, Enuns.Naipe.Espadas), new Carta(3, Enuns.Naipe.Espadas)); Carta[] CartasBanca = new Carta[] { p.Banca.Cartas[0], p.Banca.Cartas[1] }; Carta[] CartasJogador = new Carta[] { p.Jogador.Cartas[0], p.Jogador.Cartas[1] }; Carta[] CartasMesa = p.CartasMesa; ConstrutorMelhorMao construtorMao = new ConstrutorMelhorMao(); MaoTexasHoldem melhorMaoJogador = construtorMao.GetMelhorMao(CartasMesa.Union(CartasJogador).ToList()); construtorMao = new ConstrutorMelhorMao(); MaoTexasHoldem melhorMaoBanca = construtorMao.GetMelhorMao(CartasMesa.Union(CartasBanca).ToList()); Assert.IsTrue(melhorMaoJogador.Compara(melhorMaoBanca) == 1); p.JogadorGanhador = VencedorPartida.Jogador; p.Jogador.ReceberValor(p.PoteAgora); Assert.IsTrue(p.Jogador.Stack == 510); }