Jeu d'échec mazette

Description

Jeu d'échec en Delphi 7 à l'origine initié par la lecture d'un source bien structuré en Visual Basic de Monsieur Jean-François GAZET : WJChess 0.61 (disponible sur son site), traduit puis entièrement réécrit.

Unités principales :

Bibliothèque : Bibliothèque d'ouverture limitée à quelques coups tirés de bibliothèques et d'encyclopédies d'ouvertures disponibles sur le net (voir unité « Convert » dans le zip qui a été utilisée une ou deux fois....).

Déplacement : génération des coups, cette unité cruciale pour la vitesse doit beaucoup à la source « COMPARER LES INSTRUCTIONS CASE OF, IF THEN ET IF THEN ELSE » et des commentaires associés. Originale, elle permet de ne pas utiliser de bitboard ou de mailbox (comme le programme d'origine) tout en évitant d'accumuler les tests. La routine « Souslefeu » qui vérifie que le roi n'est pas en échec est très rapide.

Echec1 : Unité principale.

Evaluation : Une version plus élaborée du source d'origine mais néanmoins plutôt frustre. Certains des paramètres sont tirés du Tscp de Tom Kerrigan. A noter que ces comptes d'épicier génèrent des combinaisons parfois superbes. Les calculs sont, en partie, itératifs.

Plateau :Dessine le jeu.

Recherchedecoups : Utilise un alpha-béta et un Négascout classiques avec quelques optimisations (joue d'abord les coups les plus prometteurs). De plus le niveau terminal (feuille) est optimisé : les coups sont générés et vérifiés au fur et à mesure (en cas de coupure de l'arbre cela permets d'éviter des calculs inutiles).

Variables : Déclaration des variables.

Le programme n'est pas commenté, mais relativement clair.

Source / Exemple :


Voir le zip

Conclusion :


Le niveau correspond à un joueur de club moyen ( Elo : 1800 environ ). J'ai essayé, autant que possible de remercier les auteurs de sources de procédures copiées sur internet mais quelques oublis sont possibles.

Montero-Ribas

Site : ADMR.CAD.Free.fr

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.