Sunday, May 22, 2011

Génération des déplacements fini !

Ca y est ! Première étape de franchie !

Les reines, les tours, et tout le reste se déplacent et peuvent prendre ! Les rois peuvent roquer et les pions peuvent avancer de deux cases et se faire prendre "en
passant". De plus, les déplacements sont vérifiés "légaux", c'est à dire qu'avant de bouger une pièce, il est vérifié que le roi n'est pas en échec, que ce soit le roi lui-même qui bouge ou une autre pièce ("pin").

C'est pas beau ça ?

J'ai pas encore de fonction de recherche (avec la fonction d'évaluation de la position) mais j'ai codé une simple fonction d'affichage des positions qui s’enchaînent au hasard. Et j'affiche ça en texte. C'est trop beau.

Bon, sauf que j'ai des bugs :)
Notamment dans la fonction prune_king_revealers ou unmake.
Lire la suite...

Sans fonction de chargement de position, pas de TDD possible

J'ai retardé de faire une fonction de chargement de position (à partir d'une notation FEN par exemple), mais finalement c'est super important: sans chargement de position initiale facile, pas de tests facilement faisables. Pas de bras, pas de chocolat. Pas de tests, pas de TDD. J'avoue, j'ai développé sans vraiment tester chaque fonction de déplacement en premier lieu, mais avec une simple fonction d'affichage des positions qui s’enchaînent. Donc avant de tomber sur la bonne position à tester... J'aurais pu au moins faire un lecteur de déplacements pour aller à la bonne position sans hasard. Prochain truc à faire donc, la fonction de chargement et les tests correspondants !

No comments: