Jeu des allumettes avec au choix alpha-beta ou minmax

Description

Vous jouez contre l'ordinateur qui utilise, selon votre choix, minmax ou alpha beta.
Je l'ai fait pour plusieurs raisons :
- comprendre l'utilisation et l'utilité des pointeurs
- comprendre les arbres
- comprendre et mettre en place les algo de type "jeu ouvert" tels que minmax et alpha-beta

Tout ceci afin que dans un avenir proche je me sente capable de faire un programme plus élaboré de style jeu de dames (le jeu d'échecs, dont j'ai longtemps été amateur, me semblant pour un bon moment hors de portée compte tenu des optimisations nécéssaires).

Cependant, avant de commencer, je soumets aux connaisseurs de ces 2 algoritmes mon humble contribution.
Je voudrais être sur de démarrer sur de bonnes bases avant d'aller plus loin.
Je précise que je ne me suis pas encore mis à la programmation objet.
Aussi, si vous voyez quelque chose d'évident qui diminue les performances, je suis preneur.
ex : les types de variables, allocation d'un petit tableau dynamique au sein des 2 algo, variables globales, locales, utilisation des pointeurs, passages de paramètres dans les fonctions et procédure de ces deux algo, etc...

Avec mon Athlon 1,5 GHz, 30 allumettes, une profondeur de 20 coups, ordinateur commence :
minmax : 1,08 mn - 111 Millions de noeuds visités - 8 Millions de feuilles
alpha-beta : 0,32 mn - 51 Millions de noeuds visités - 3,5 Millions de feuilles

Avec 35 allumettes, une profondeur de 20 coups, ordinateur commence :
minmax : 11 mn - 1,4 Milliards de noeuds visités - 425 millions de feuilles
alpha-beta : 3,30 mn - 390 millions de noeuds visités - 106 millions de feuilles

Cela vous semble-t-il correct, sachant que la fonction dévaluation est, il est vrai, super simple, au contraire, j'imagine, d'un jeu de dames?

Si quelq'un pouvait également m'expliquer, en quelques mots, le principe qui permet d'éviter l'effet de scintillement d'un rectangle sur une image ou au moins me nommer la technique à utiliser (brushcopy?). J'avoue qu'au niveau graphique, j'ai pas trop cherché et suis sûr que tout cela, aux yeux de certains, paraitra bien laborieux, mais bon...

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.