Jeu d’Echecs en Excel VBA : introduction

Introduction à la programmation Visual Basic for Application (VBA) d’un jeu d’Echecs dans Excel.

Introduction à la programmation Visual Basic for Application (VBA) d’un jeu d’Echecs dans Excel.


Jeu d’Echecs en Excel VBA : introduction

Visual Basic for Application (VBA) est le langage Basic de macros de Microsoft Office.

Le choix du langage VBA

Pourquoi ce choix de langage interprété VBA par rapport au langage compilé C++ ?

Les moteurs d’Echecs sont généralement programmés en langage C voire C++ puis compilés en langage machine pour la vitesse d’exécution.

Alors pourquoi donc choisir VBA ? Parce qu’un langage interprété s’apprend plus facilement, surtout si c’est le premier langage de programmation que vous voulez connaître. Vous pouvez plus aisément expérimenter les fonctions du langage sans planter (crasher) le programme.

Le développement est simplifié. On peut avoir immédiatement le résultat d’exécution sans passer par une phase de compilation (puis d’édition de lien). De plus la recherche des erreurs est facilitée puisqu’on peut remonter plus facilement à la ligne de code VBA qui a provoqué l’erreur.

C’est plus complexe avec un langage compilé. On peut faire une analogie avec une course en Formule 1 par rapport à une course d’endurance.

  • Le langage compilé est très rapide mais peut sortir de la route (planter le programme) tant que le programme n’est pas au point.
  • Le langage interprété est beaucoup plus lent mais plante rarement Excel.

De plus tout l’environnement de développement (éditeur et débogueur) est fourni avec Excel.

Autrement dit, il n’y a rien à télécharger et à installer quand on dispose d’Excel 97 à Excel 2010 et plus.

Objectifs du projet

Avec un tel choix de langage, on ne cherche pas à concurrencer même le plus faible des moteurs d’Echecs mais à fournir les briques pour se créer une boite à outils échiquéens et expérimenter des recherches sur la stratégie (évaluation statique des éléments clefs de la position, comparaison de plans) plutôt que sur la tactique (évaluation dynamique de la position avec recherche sur plusieurs niveaux de profondeur qui fait chauffer le CPU du PC surtout en été !).

Par rapport à Word ou PowerPoint, Excel est le plus approprié parce que les cellules du tableur font naturellement penser à un échiquier. On bénéficiera du traceur de courbe d’Excel pour dessiner la courbe de la fonction d’évaluation pour chaque coup de la partie d’Echecs.

On se fixe comme objectif de pouvoir lire un fichier .pgn généré et commenté par Arena lors d’un duel entre deux moteurs d’Echecs. On affichera l’échiquier et on l’animera pour chaque coup de la partie. On peut donc appréhender ce programme d’Echecs dans un premier temps ni comme une interface UCI/Winboard comme Arena, ni comme un moteur comme Houdini mais comme un simple visualisateur de partie d’Echecs au format .pgn.


Suivant : Initiation à Excel VBA : la fenêtre Exécution.

Posté le 2 juillet 2011 par Matt