2013-05-08 4 views
1

J'ai écrit un algorithme d'évaluation de Naive Poker pour un jeu Hold'em Poker que je développe et je me demande quelle serait la meilleure façon d'évaluer les jokers dans ces mains. Une idée que j'ai eu serait de remplacer le joker avec chaque carte du pont et de réévaluer la main itérativement pour trouver la meilleure main possible. Cependant, il peut y avoir jusqu'à 3 jokers et il ne semble pas être le moyen le plus efficace de le faire? Pensées?Évaluation de la main de poker avec des jokers

P.S. - Oui, je suis conscient qu'il y a plusieurs évaluateurs de mains de poker plus rapides disponibles mais ces cartes sont légèrement différentes et je n'ai pas réussi à en trouver une qui corresponde à mes besoins (Jokers etc), donc j'en ai écrit une de toutes pièces.

+0

Je voudrais écrire du code qui essaie chaque type de main du meilleur au pire (directement à la plus haute carte) demandant "puis-je faire ce travail avec les jokers?" par exemple. un code spécial pour chaque type de main est nécessaire, comme 'Je peux faire une maison pleine avec trois jokers et n'importe quoi, deux jokers et une paire/mieux, un brelan et un joker ou deux paires et un joker' – Patashu

+0

J'ai essayé développer ce genre de logique mais les possibilités sont trop vastes, surtout avec 3 jokers. – Prat

+0

Vous n'avez pas besoin d'y penser en termes de «comment puis-je utiliser trois jokers», mais plutôt en termes de «si j'ai des jokers X, quelles sont les nouvelles exigences minimales pour être en mesure de compléter une main type?' par exemple. vous pouvez faire un flush si tous vos non-jokers sont du même costume, une quinte si 1) vous avez cinq cartes dans l'ordre 2) vous avez quatre cartes et un joker et les cartes les plus hautes et les plus basses sont 4 ou 5 différence 3) vous avez trois cartes et deux jokers et les cartes les plus hautes et les plus basses font 3-5 différence 5) vous avez deux cartes et trois jokers et les cartes sont 2-5 différence ... – Patashu

Répondre

3

Notez que pour essayer chaque combinaison de cinq cartes de sept signifie essayer 21 combinaisons, ce qui n'est pas si mal.

Pour chacune des mains, #: où # est un nombre indique le nombre de jokers en main.

Notez également qu'une fois que vous avez trouvé une main, vous n'avez pas besoin de chercher des mains qui sont pires que celles des sept autres cartes - vous pouvez vous arrêter tôt.

Vous pouvez former une quinte flush si:

0: Toutes les cartes sont de la même couleur et la plus haute et la plus basse carte ont une différence de 4 (ce qui implique les trois autres cartes doivent être entre 1): Tous les non-jokers sont de la même couleur et la carte la plus haute et la plus basse ont une différence de 4 ou 3. (ce qui implique que les autres cartes remplissent la ligne droite, avec un trou - que le joker remplit)

2: Tous les non-jokers sont de la même couleur et les plus hauts et les plus bas carte st ont une différence de 4, 3 ou 2.

3: Tous les non-farceurs sont la même couleur et la plus haute et la plus basse carte ont une différence de 4, 3, 2 ou 1.

Vous pouvez former un carré si:

0: Vous avez quatre cartes de même rang. 1: Vous avez trois cartes de même rang. 2: Vous avez deux cartes de même rang.

3: Vous avez un brelan - arrêtez l'évaluation.

Vous pouvez former une maison si:

0: Vous avez un brelan et une paire.

1: Vous avez un brelan ou vous avez deux paires.

2: Vous avez un brelan ou vous avez une paire.

Vous pouvez former une couleur si:

Tous les non-farceurs sont de la même couleur.

Vous pouvez former une ligne droite si:

Voir la logique quinte flush mais prennes l'exigence de chasse.

Vous pouvez former un brelan si:

0: Vous avez trois cartes du même rang. 1: Vous avez deux cartes de même rang. 2: Vous avez un brelan - arrêtez l'évaluation.

Vous pouvez former deux paires si:

0: Vous avez deux cartes du même rang, deux rangs différents. 112: Vous avez deux cartes de même rang (une paire).

Vous pouvez former une paire si:

0: Vous avez deux cartes du même rang.

1: Vous avez une paire - arrêter l'évaluation.

Vous avez carte la plus haute - arrêter l'évaluation

+0

Merci pour l'explication détaillée – Prat

+0

Cette logique est cependant pour une main de 5 cartes, il devient plus compliqué pour Hold'Em. Je vais essayer de suivre la logique de Hold'Em et publier une mise à jour. – Prat

+0

@Prat Vous pouvez le faire, ou vous pouvez parcourir toutes les 5C7 = 21 combinaisons possibles de cinq cartes à partir de sept. Ce n'est que si c'est NOTICABLY lent que je m'efforcerais d'optimiser davantage. – Patashu

0

Cette logique de comparer les différences de haut en bas ne fonctionne pas. Considérons que vous avez 9 - J - J - K - Joker. Cela donnerait une différence de 4 mais n'est pas une ligne droite. CORRECTIF: Les nombres non joker doivent tous être également différents.