MSX Village forum

La Place des Développeurs Poker Brides - Projet

ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5566

Le 19/01/2015 à 09h15

Reprise du message précédent

Metalion :
Eric,



C'est "Trèfles", pas "Treffles".




corrigé :siffle

merci... C'était pour voir si vous suiviez.... :lol Edité par ericb59 Le 19/01/2015 à 09h16


banniere-ericb59e
Site web    
z80 Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 17/05/2013 à 22h52

Messages: 987

Le 19/01/2015 à 11h21
ericb59 :
Metalion :
Eric,



C'est "Trèfles", pas "Treffles".




corrigé :siffle

merci... C'était pour voir si vous suiviez.... :lol




C'est bon on suit! :lol


TurboR GT (1Mo), CANON V20! ( en kit, modif 2+ en cours) :top
Pas encore retrouvés: V9990, Grafx9000, SUNRISE IDE 2x CF, SUNRISE MOONSOUND, FM PAC, MUSIC MODULE, NMS8280, SD SNATCHER,... :\'(
   
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5566

Le 19/01/2015 à 14h05
J'ai maintenant un programme qui tire les cartes,
sait rechercher les main gagnantes, et donne une évaluation chiffrée de la main pour la comparer à celle de l'adversaire et dire qui gagne.

Par contre je bloque sur la suite...
C'est à dire l'IA à proprement parler.
Je ne parviens pas à trouver d’algorithme (ou à comprendre ce que je trouve sur le net)
pour que l'ordinateur puisse faire un choix avec les cartes qu'il a dans son jeu...

Si on trouve 2 paires, un brelan ou une combinaison plus haute les choix sont relativement facile à trouver... Changer 1 ou 2 cartes en fonction...

Mais dans le cas d'un jeu avec une paire, ou rien du tout... Quel choix peut faire l'ordinateur ?

Si vous avez des idées n'hésitez pas...


banniere-ericb59e
Site web    
bpmsx Membre non connecté

Villageois

Rang

Avatar

Groupe : Shoutbox

Inscrit le : 20/03/2013 à 19h45

Messages: 485

Le 19/01/2015 à 19h48
Dans listing prog ligne 60 << Quite Flush Royale>> et pas quinte
et ligne 3010 << "m‚langre du jeu de carte" >> et pas melange
pour service


bpmsx
   
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5566

Le 20/01/2015 à 17h56
Bon, ben j'ai pas eu beaucoup de propositions d'idées pour créer l'IA du jeu de poker...

Pas grave je vais me lancer... :p

Comme j'ai dit au début, je ne sais pas jouer au Poker. Tout au plus je connais les principes de base.
Donc je me suis documenté ces derniers jours.

Le poker étant un jeu de hasard, il est difficile de déterminer des stratégies de jeux possible.
Bien que le Bluff, est en soit une stratégie, mais elle ne peut/doit pas être systématique.

Les probabilités sont la pierre angulaire du jeu... On y va donc avec de beaux tableaux :)

Déjà posons les bases. Le jeu de poker dont on parle ici est la version Classique 5 Cartes
5 Cards Draw. 1 contre 1




Ce premier tableau nous montre le les probabilités pour avoir tel ou tel combinaison de carte au premier tirage.
On a donc 42,256 % de chance de commencer le jeu avec une paire.
et, par exemple on a que 0,024% de chance de commencer le jeu avec un carré.




Ce second tableau nous montre le pourcentage de chance d'avoir une combinaison de carte meilleure qu'une autre....
Disons que je démarre avec une paire de 7 dans mon jeu.
il y a un probabilité de 35,9% que mon adversaire ait une meilleure main que moi.
Autrement dit, il y a 64,1% de chance qu'avec une paire de sept je gagne la partie (dans un premier temps)

Toute l'astuce étant, en s'appuyant sur ces statistiques, d'essayer d'améliorer son jeu, et non pas de le dégrader...

Un exemple, on tire
ROI DE COEURS, ROI DE PIQUES, 4 DE TREFLES, 7 DE TREFLES, 10 DE TREFLES

Ca nous donne une paire... Mais on peut se dire que l'on est à 2 cartes d'avoir une COULEUR.
Mais la probabilité de tirer 2 TREFLES est extrêmement faible.
Il faut donc privilégier la PAIRE DE ROI.

avec tout ça on peut tenter de modéliser des stratégie de jeu pour l'ordinateur...
En ajoutant un soupçon de hazard, et un zeste de Bluff ca devrait le faire... ;) Edité par ericb59 Le 20/01/2015 à 17h59


banniere-ericb59e
Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 20/01/2015 à 19h13
@Eric. J'ai demandé à un ami expert dans le Poker si il voulait bien apporter son aide :)


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5566

Le 20/01/2015 à 19h43
igal :
@Eric. J'ai demandé à un ami expert dans le Poker si il voulait bien apporter son aide :)




ok igal, ca permettra peut etre de faire une IA cohérente...


banniere-ericb59e
Site web    
MSXosaure Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 03/10/2009 à 00h09

Messages: 781

Le 20/01/2015 à 20h29
Intéressant tout ça...:top

Si tu veux créer une IA correcte il va falloir bien évaluer le jeu de l'IA. S'Il n'y a pas de combinaison en début de main par exemple, il faut déjà identifier un "début de main": trois cartes de même couleur ou qui se suivent ou des cartes fortes (AS, roi,...). Ce seront des cartes à garder et les autres à jeter, ce sera déjà un bon début d'IA.

Après ça se joue en retenant le nombre de cartes que l'adversaire jette, le nombre de cartes restantes, sa mise, les tours restants, etc...

Il vaut mieux procéder par étape.

Par contre pour ton tirage, je n'ai repéré de sécurité sur le tirage en double d'une carte:hum Parceque si tu'nen as pas ça peut faire carré d'as contre carré d'as et finir par du goudron et des plumes!:diable :lol


Le MSXien le plus à l'ouest :fou ... ou presque :D
osaurer
   
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5566

Le 20/01/2015 à 20h44
MSXosaure :
Intéressant tout ça...:top



Si tu veux créer une IA correcte il va falloir bien évaluer le jeu de l'IA. S'Il n'y a pas de combinaison en début de main par exemple, il faut déjà identifier un "début de main": trois cartes de même couleur ou qui se suivent ou des cartes fortes (AS, roi,...).




Oui tout à fait, c'est mon principale HIC ! Quand il n'y a rien dans le jeu on choisi de faire quoi...

Effectivement si il y a dejà un début de quelque chose, une paire, par exemple je peux comprendre ce qu'il convient de faire, mais dans le cas d'une main vide, c'est plus compliqué pour un non joueur ! :lol

Merci de tes conseils... Ca va me servir...



Citation :
Par contre pour ton tirage, je n'ai repéré de sécurité sur le tirage en double d'une carteParceque si tu'nen as pas ça peut faire carré d'as contre carré d'as et finir par du goudron et des plumes!




non, il ne peut pas y avoir de doublon dans mon tirage...



J'ai un jeu de 52 cartes. c'est mon tableau DIM J(51)

au début du programme, chaque élément du tableau contient 1 carte

0 contient 1

1 contient 2

2 contient 3

...

51 contient 52



je mélange ce tableau avec un nombre X de SWAP aléatoires ... SWAP 5,50 SWAP 27,9 etc...



J'ai donc toujours mon tableau J(51) mais je ne connais plus l'odre des cartes...

Je n'ai plus qu'à aller chercher les cartes dans l'ordre ...



Carte1 = J(k) : K=k+1

(....)



L'identification de la carte se faisant avec la formule :

Couleur = Carte1/13

Rang = Carte1 MOD 13



Couleur et Rang sont à aller chercher dans leur tableau respectif S$ et R$ Edité par ericb59 Le 20/01/2015 à 20h45


banniere-ericb59e
Site web    
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5566

Le 21/01/2015 à 15h14
Bonjour

Voici une première ébauche d'IA pour le moteur de jeu de poker

J'aimerai bien que ceux qui connaissent un peut le poker puissent tester et me dire si l'ordinateur réagi, bien ou pas...

voici le fichier DSK
poker0.dsk

Alors Attention, ce n'est pas encore un jeu... Il n'y a pas d'interactivité.

Le programme fait ceci :
- Affiche le jeu de carte.
- Trie le jeu de carte
- Tire 5 cartes pour le joueur 1 (MSX)
- L'IA Analyse son jeu, détermine si il y a une main gagn,ante ou pas
- Déterminer les cartes à laisser dans le but d'améliorer son jeu, et propose une mise *
- Le programme distribue les carte à changer au joueur 1 (MSX)
- L'IA analyse à nouveau son jeu

c'est tout... pour le moment.
La mise qui est proposée pour l'instant n'est qu'une toute petite ébauche basée sur des probabilités.
N'en tenez pas compte pour le moment.

Ce que j'aimerai savoir c'est si, le moteur analyse correctement son jeu, et choisi bien les cartes qu'il veut laisser..


banniere-ericb59e
Site web    
RibbSayan Membre non connecté

Touriste

Rang

Avatar

Inscrit le : 19/08/2010 à 22h47

Messages: 154

Le 21/01/2015 à 21h58
Comme je trouve l'idée intéressante et que je connais rien au poker, j'ai fait un tableau EXCEL sur le "Hand Strength", Le "Pot Odds" et le "Rate of return"
Si ca peut servir :)

HandStrength.zip
   
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5566

Le 22/01/2015 à 08h09
Merci RibbSayan…

Mais je ne comprend pas tout à ton tableau… peux tu me donner quelques explications... :)


banniere-ericb59e
Site web    
MSXosaure Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 03/10/2009 à 00h09

Messages: 781

Le 22/01/2015 à 09h32
Le tableau de ribbsayan est intéressant par contre il ne gère pas les cartes en dessous 7?

Ton IA démarre bien, il faudrait afficher les mains en lignes pour mieux voir l'évolution.
Valeur sans e...


Le MSXien le plus à l'ouest :fou ... ou presque :D
osaurer
   
RibbSayan Membre non connecté

Touriste

Rang

Avatar

Inscrit le : 19/08/2010 à 22h47

Messages: 154

Le 22/01/2015 à 10h04
J'ai opté pour la partie a 32 cartes car on a plus de chance d'avoir des paires alors qu'avec le jeu de 52, on a plus de chance d'avoir des cartes hautes. Après, mon tableau est adaptable avec un jeu de 52 (cf formule excel)

En colonne, j'ai reparti proportionnellement la force des valeurs. Un sept vaut moins qu'un huit jusque l'as. En ligne, j'ai déterminé la force d'une main avec la carte la plus forte. En me basant sur le tableau des chances d'avoir une main plus forte, j'ai calculé la puissance de la main.

Ex: Une paire de 7 a 72% de chance d'être battu par une main supérieure. Ca veut dire que le puissance d'une paire de 7 est de 1-0.72 donne 0.28.
Pour une main de 2 paires, la force de cette main est de 1-0.08 donne 0.92

Pour finir, je reparti pour la paire de 7 a la paire d'as la puissance entre 0.28 a 0.92 (valeur exclu car c'est la force de la double paire)

D'ailleurs dans mon tableau, la double paire de niveau 7 est impossible car 2 paires dont la carte le plus haute est 7 serait un carré.
   
MSXosaure Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 03/10/2009 à 00h09

Messages: 781

Le 22/01/2015 à 14h13
Je vais regarder ta formule de plus près, après il n'y aura plus qu'à l'appliquer au programme pour 52 cartes en prenant en compte la hauteur carte... Au boulot ericb59:diable :lol


Le MSXien le plus à l'ouest :fou ... ou presque :D
osaurer
   
ericb59 Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++ Groupe : Shoutbox

Inscrit le : 17/04/2012 à 10h25

Messages: 5566

Le 22/01/2015 à 14h22
en fait c'est le second tableau que j'ai mis plus haut dans le topic…
Je vais utiliser la formule RR tel qu'indiquée dans ton Excel…
Ca me parait pas mal…

Question tout autre… est-ce que quelqu'un saurait extraire les graphiques du jeu de carte du jeu Teenage Queen sur Amiga ou Atari ST ?


banniere-ericb59e
Site web    
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie