Jeu d’Echecs en Excel VBA : introduction

samedi 2 juillet 2011
par  Matt
popularité : 11%

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.


Brèves

Championnat jeunes 2018

dimanche 25 février 2018

A St Sernin sur Rance, Vadim Breton se qualifie pour le championnat de France jeunes. Il termine à la 4ème place des benjamins. http://echecs-occitanie.com/spip.php?article382&mode=AF

Les Jeunes qualifiés en NIII !

mercredi 14 décembre 2016

Dimanche 11 décembre 2016, aux interclubs jeunes à Leguevin, notre équipe a gagné un match et fait match nul aux deux autres.

L’équipe composée de Xavier, Vadim, Aurélie et Titouan termine 8ème et se qualifie pour la N3. A noter que Xavier et Vadim ont gagné toutes leurs parties.

Sur le Web : Site de la LMPE

Championnat jeunes

lundi 5 décembre 2016

Xavier, Vadim et Martin trois champions du Tarn et Garonne
Lire l’article

Coupe Loubatière

lundi 5 décembre 2016

Le club qualifié pour la phase régionale de la coupe Loubatière
Lire l’article

Sur le Web : Coupe Loubatière

Tournoi interne 2016-2017

lundi 5 décembre 2016

C’est reparti pour le tournoi interne : 1 partie par mois de novembre à mai
Lire l’article

Live Playchess.com

mercredi 7 septembre 2016