prob.poker package:unknown R Documentation Chances de vencer uma partida de pôquer Description: A função faz simulações de partidas de pôquer Texas Hold’Em para estimar as chances do usuário vencer, empatar, ou perder a partida, bem como as chances de realizar cada tipo de jogo, com as cartas que tem na mão. Usage: prob.poker(mao1, mao2, flop1 = NULL, flop2 = NULL, flop3 = NULL, turn = NULL, river = NULL, nadv, nsim = 1000) Arguments: mao1,mao2 Caracteres contendo valor e naipe das cartas que estão na mão do usuário. Veja seção Note para o formato correto de argumentos de carta. flop1,flop2,flop3 Caracteres contendo valor e naipe da primeira, segunda e terceira cartas (flop) que foram abertas sobre a mesa. Se NULL (padrão), cartas serão sorteadas. Veja Note para o formato correto de argumentos de carta. turn Caractere contendo valor e naipe da quarta carta (turn) que foi aberta sobre a mesa. Se NULL (padrão), carta será sorteada. Veja Note para o formato correto de argumentos de carta. river Caractere contendo valor e naipe da quinta carta (river) que foi aberta sobre a mesa. Se NULL (padrão), carta será sorteada. Veja Note para o formato correto de argumentos de carta. nadv Número de adversários contra os quais o usuário está jogando. nsim Número de partidas a serem simuladas, padronizado para 1000. Details: Quatro vezes em uma partida de pôquer Texas Hold’em, o jogador precisa tomar uma importante decisão: largar a mão, pagar a aposta, ou aumentá-la. Essa decisão parte de uma pergunta importante: "quais as chances de ser vencedor ao final da partida, com as cartas que tenho?". Essa função pode ser usada em cada uma das rodadas de aposta (pré flop, flop, turn e river) para embasar a decisão do jogador e permitir que ele aposte (ou não) de acordo com as perspectivas reais de vitória. Em cada partida simulada, a função sorteia as cartas necessárias (i.e., as cartas das mãos dos adversários e, se não foram inseridas como argumentos, as que serão abertas sobre a mesa), avalia o melhor jogo final de cada adversário, e determina o vencedor. As chances de cada resultado para o usuário (vitória, empate, derrota) são obtidas a partir dos vencedores das simulações. As chances de cada tipo de jogo são obtidas a partir dos jogos obtido pelo usuário nas simulações. Value: A função retorna um objeto da classe list com os seguintes componentes: Chance (%) de cada porcentagem das partidas simuladas que foram resultado vencidas pelo usuário (vitória), vencidas pelo usuário e um adversário empatados (empate), e vencidas por adversários (derrota). Chance (%) de realizar porcentagem das partidas simuladas ao cada tipo de jogo final das quais o usuário obteve cada tipo de jogo: nenhum, par, dois pares, trio, sequência, flush, full house, quadra, straight flush. Chance (%) de realizar porcentagem das partidas simuladas ao final das quais o cada tipo de jogo ou usuário obteve cada tipo de jogo ou um jogo superior. melhor Warning: A função é interrompida em três situações: Quando qualquer carta inserida como argumento não pertence ao baralho virtual de 52 cartas, no formato apropriado (ver Note). Quando uma mesma carta é dada como argumento mais de uma vez. Quando o número de adversários é superior a 22, ou seja, quando não há cartas suficientes para serem sorteadas para todos os adversários Note: Todos os argumentos de cartas precisam estar no seguinte formato: "valor da carta", "primeira letra do naipe" (e.g., 10 de copas é "10c", rei de paus é "Kp"). Os 52 valores possíveis de serem inseridos como argumentos de carta se encontram no vetor baralho.simp, em Examples. A função diferencia maiúsculas de minúsculas, portanto letras de valores (J, Q, K, A) tem que estar em caixa alta e letras de naipe (c, o, p, e), em caixa baixa. A ordem em que as cartas da mão (mao1, mao2) e da mesa (flop1, flop2, flop3, turn, river) são inseridas não é importante. Um maior número de simulações (nsim) faz com que as chances retornadas pela função sejam mais precisas, porém também faz com que o tempo de processamento seja maior. Quanto mais argumentos de carta são dados, mais precisas são as chances calculadas, pois há menos cartas para serem simuladas. A função tem certas limitações, como não considerar as possíveis decisões de jogadores nas apostas subsequentes. Assim, por exemplo, o número de adversários inseridos como argumento se manterá até o fim das partidas simuladas, sem considerar que eles poderiam sair em uma das futuras rodadas de aposta. Consequentemente, as chances de vencer do usuário serão mais baixas quanto maior o nadv, pois aumenta a probabilidade de qualquer adversário ter um jogo superior ao do usuário. Author(s): João C. T. Menezes jocateme@gmail.com Examples: ### Criando baralho virtual e sorteando cartas que serão utilizadas baralho.simp <- paste(c(rep(2:10, each = 4), rep(c("J", "Q", "K", "A"), each = 4)), rep(c("p", "c", "o", "e"), times = 13), sep = "") sample <- sample(baralho.simp,size=7) ## sorteando sete cartas para serem utilizadas no exemplo mao1 <- sample[1] mao2 <- sample[2] flop1 <- sample[3] flop2 <- sample[4] flop3 <- sample[5] turn <- sample[6] river <- sample[7] ### Exemplo do avanço de uma mesma partida heads-up (i.e., usuário contra um adversário) ### chances pré-flop prob.poker(mao1, mao2, nadv = 1) ### chances após flop prob.poker(mao1, mao2, flop1, flop2, flop3, nadv = 1) ### chances após turn prob.poker(mao1, mao2, flop1, flop2, flop3, turn, nadv = 1) ### chances após river prob.poker(mao1, mao2, flop1, flop2, flop3, turn, river, nadv = 1)