Question

Comme il y a 52 cartes dans un jeu, nous savons qu'il ya des 52 choose 2 = 1326 matchups distinctes, mais au poker preflop cela peut être buckets en 169 mains différentes telles que AK dépareillé et AK adaptés comme si elle est un cœur K coeurs ou un chat K bêches, il ne fait pas de différence preflop. Ma question est, est-il une propriété mathématique agréable où je peux l'indice unique chacune de ces 169 mains (0-168 préférence). Je suis en train de créer une table comme double[][] = new double [169][169] mais ai aucun moyen de changer une représentation de la main, comme un (AKs As et un Roi de la même couleur) à un index unique dans ce tableau.

Était-ce utile?

La solution

  1. Si les cartes sont de la même couleur, trier les deux cartes, de sorte que la carte inférieure vient en premier. Si elles sont différentes combinaisons, trier les deux cartes afin que la carte inférieure vient en dernier. Un cas particulier sera réservé lorsque les cartes sont de même rang et costume.
  2. Assigner à chaque rang d'une valeur de 0 à 12 et en utilisant un système de comptage de base 13. La valeur la plus élevée dans ce système est de 12 * 13 + 12 = 168.
  3. Enfin, pour les cas où les deux cartes sont de même rang et costume, prendre la valeur du rang et ajouter 169 à elle. Ces cas seront dans la gamme 169-181.

Peut-être que mes calculs sont faux, mais je viens avec 182 paires distinctes de cartes. Je ne suis pas expert dans le jeu, alors peut-être je manque quelque chose.

Autres conseils

Oui.

Un exemple d'un prêt à l'emploi Objective-C (et Java) Texas Hold'em 7 et évaluateur 5-carte peut être trouvée ici et expliqué plus en détail ici . Il « ajoute » des mains pour générer un indice qui caractérise suffisamment la main pour déterminer le rang.

Tous les commentaires de bienvenue à l'adresse e-mail qui s'y trouvent.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top