Skip to content

anselmomendes/Poker-Hand-Value-Ratings

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Poker Hand

Poker, ou pôquer, é um jogo de cartas tradicional de cassinos, onde dois ou mais jogadores tomam lugar em uma mesa e participam das rodadas de apostas em dinheiro (real ou fictício), vencendo aquele que tiver a combinação mais forte conforme a hierarquia das cartas.

O poker possui diversas versões de jogo, sendo as mais famosas:

  • Texas Hold’em, Omaha;
  • Seven Card Stud;
  • Seven Card Draw;
  • Five Card Stud
  • Five Card Draw.

Uma mão de poker pode possuir diversas combinações que são:

pokerhands_big

  • Straight Flush: Cinco cartas em ordem numérica, todas do mesmo naipe.
  • Quadra: Quatro cartas de mesmo valor, e uma outra carta como 'Kicker'.
  • Full House: Três cartas do mesmo valor, e duas outras cartas diferentes de mesmo valor.
  • Flush: Cinco cartas do mesmo naipe.
  • Sequência: Cinco cartas em sequência.
  • Trinca: Três cartas do mesmo valor, e duas outras cartas não relacionadas.
  • Dois pares: Duas cartas de um mesmo valor, outras duas cartas diferentes de mesmo valor, e uma outra carta não relacionada.
  • Um Par: Duas cartas do mesmo valor, e três outras cartas não relacionadas.
  • Carta Alta: Qualquer mão que não esteja nas categorias acima.

Durante o jogo é possível que os jogadores possuem a mesma combinação e dessa forma é necessário estabelecer critérios de desempate.

Esse código foi desenvolvido para automatizar esse processo e evitar erros durante a verificação.

A classe PokerHand possui as seguintes métodos

  • bool:compare_with -> recebe uma mão de poker e retorna qual melhor mão. True mão atual, False outra mão.
  • str:show_score -> mostra o resultado para todas as combinações das mãos de Poker.
  • bool:royal_flush -> Verifica se houve a combinação.
  • bool:straight_flush -> Verifica se houve a combinação.
  • bool:four_of_a_kind -> Verifica se houve a combinação.
  • bool:full_house -> Verifica se houve a combinação.
  • bool:flush -> Verifica se houve a combinação.
  • bool:straight -> Verifica se houve a combinação.
  • bool:three_of_a_kind -> Verifica se houve a combinação.
  • bool:tho_pair -> Verifica se houve a combinação.
  • bool:one_pair -> Verifica se houve a combinação.
  • int:high_card -> Retorna a maior carta.

Lista de classes abstratas com as assinaturas dos métodos:

  • interface/Hand
  • interface/Card

Classes com variáveis de apoio:

  • settings/Common
  • settings/Result

Classe de teste

  • tests/TestPoker

Classe dos objetos do poker

  • core/CardPoker
  • core/PokeHand

Classe de verificação individual dos métodos de combinação.

Saída do código

Teste individual

Execução do Teste

Autor

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages