Bonjour,
Je vous propose un nouveau code source à télécharger : Eschecs
C'est un essai de programmation d'un jeu d'échecs en Pascal. L'interface graphique est basée sur les bibliothèques fpGUI et BGRABitmap.
Qu'en pensez-vous ?
Bonjour,
Je vous propose un nouveau code source à télécharger : Eschecs
C'est un essai de programmation d'un jeu d'échecs en Pascal. L'interface graphique est basée sur les bibliothèques fpGUI et BGRABitmap.
Qu'en pensez-vous ?
Salut
J'aime bien le look sobre de l'interface ^^. Bon jeu, j'ai même réussi a battre l'ordi ^^.
Quelques points manquants : La numérotation des cases (A..H et 1..8) et dire a qui de jouer.
Quelques questions : Que contient ce fichier pieces.pas ? Comment dessines tu tes pièces ? Qu'est ce que ces fichiers .inc ?
En tout cas, félicitations
Merci !
C'est noté. J'ai le projet de travailler sur une interface un peu plus élaborée pour la prochaine version (en restant sobre ).
Le dessin des pièces vient de la version DOS du jeu Fritz. Soit dit en passant, la version 5.32 du même jeu est le plus beau programme d'échecs gratuit qu'on puisse trouver.
Donc, à partir d'une capture d'écran sous DosBox , j'avais fabriqué un fichier texte contenant les images sous forme de '0' et de '1', soit quarante lignes de quarante caractères pour chaque image.
Maintenant, le fichier pieces.pas, c'est une astuce que Paul Toth m'a donnée pour réduire la taille du fichier. Au lieu de '0' et de '1', on utilise des nombres de type LongWord, un seul nombre contenant la valeur du pixel pour toute la série d'images. Tout est expliqué en détail dans cette discussion.
Pour les fichiers .inc, c'est une manière de travailler que j'ai trouvée commode. Dès que j'écris une fonction, je la mets dans un fichier à part, et j'inclus tout dans le fichier principal, ce qui me fait une sorte de table, et me permet de travailler toujours sur de petits fichiers.
Bonjour ! Je vous présente la nouvelle version de mon programme. J'ai renoncé provisoirement à y inclure un moteur : c'est donc un simple échiquier avec arbitre. Les principales améliorations par rapport à la première version précédente sont l'animation des pièces et l'utilisation de la souris pour le choix des coups.
La compilation a été testée avec Delphi 6 et 7, ainsi qu'avec FreePascal 2.6.2.
Voilà mon échiquier équipé d'un moteur. Par défaut, vous avez les blancs, l'ordinateur a les noirs. (Pour choisir un autre mode de jeu, il faut éditer le fichier options.ini.)
Bonjour ! Je vous propose une nouvelle version de mon programme d'échecs. Les principales nouveautés par rapport à la version précédente sont :
- l'utilisation d'un livre d'ouvertures
- la possibilité de démarrer une partie à partir de n'importe quelle position
L'interface basée sur l'unité WinGraph reste très rudimentaire (sauf le déplacement des pièces qui m'a quand même demandé un certain travail). Pour changer le mode de jeu, il faut modifier le fichier options.ini. Pour recommencer une partie, il faut fermer le programme et le relancer.
J'aimerais bien faire une interface un peu plus sophistiquée, mais il faudrait que j'abandonne l'unité WinGraph (pour utiliser FPGUI par exemple) et donc que je refasse tout le code relatif au déplacement des pièces sur l'écran. Cependant le temps passé sur l'interface est du temps perdu pour l'amélioration du moteur, qui est la partie la plus intéressante du projet.
Dans certaines circonstances qui seraient un peu longues à expliquer, le moteur produit un coup illégal. Dans ce cas, l'erreur est consignée dans le fichier log.txt et le jeu passe en mode manuel. Je n'ai pas encore mis au point le moyen de corriger cette erreur.
La compilation de cette version a été testée avec Delphi 7 et Free Pascal 2.6.4.
Bonjour ! Voici une mise à jour de mon jeu d'échecs.
Les principales nouveautés sont, d'une part, une fonction de recherche de mat, que l'ordinateur appelle préalablement à chacun de ses coups ; d'autre part, une fonction de validation des chaînes FEN qui est utilisée pour contrôler le paramètre optionnel passé au programme (la position de départ). J'ai également ajouté un lanceur qui permet de choisir les options sans avoir à éditer à la main le fichier de configuration comme il fallait le faire dans la précédente version.
Malgré tout, certaines lacunes demeurent, comme l'absence d'une commande permettant de commencer une nouvelle partie. J'aurais pu bricoler quelque chose rapidement mais j'ai trouvé que ça ne valait pas la peine. Dans mon esprit, il s'agit de la dernière mise à jour du jeu sous sa forme actuelle (sauf s'il y avait de petits réglages à faire). Je pense commencer un autre projet, en commençant par faire une interface graphique plus complète (sans doute avec fpGUI).
Bonjour ! La nouvelle version d'Eschecs est arrivée.
L'arbitre, le moteur, le livre et le validateur de chaîne FEN sont ceux de la version précédente avec des améliorations.
L'interface graphique est basée sur fpGUI et BGRABitmap.
Eschecs 2.0
Bonjour ! Une nouvelle version d'Eschecs.
Un défaut important a été corrigé dans le moteur. Dans certains cas le moteur renvoyait un coup illégal.
D'autre part, la dernière version inclut une bibliothèque de détection de mat, mater.dll. Ainsi le coup de l'ordinateur peut provenir de trois sources : du livre, du programme de recherche de mat ou du moteur principal.
Eschecs 2.2
Bonjour ! Je vous propose une nouvelle version d'Eschecs.
Nouveautés :
- Compilation avec Lazarus 1.6 (merci à FChrisF qui m'a indiqué la correction nécessaire)
- Possibilité de créer un raccourci sur le bureau à partir du menu de l'application
- Documentation générée avec PasDoc
Ce sera probablement la dernière mise à jour de la version 2. Ensuite j'aimerais reprendre le projet sur de nouvelles bases, à savoir utiliser le protocole UCI pour la communication entre l'interface graphique et le moteur.
Eschecs 2.3
Une version en français.
Eschecs 2.3.1
Bonjour ! Voici la version 2.4.1 du jeu.
Pas de changement extérieur par rapport à la version précédente. Mes derniers efforts ont porté sur l'organisation du code source et la documentation. J'ai un fichier lisezmoi qui commence à ressembler à quelque chose (et des débuts de traduction en anglais et en allemand).
Toutes vos remarques sont les bienvenues.
Rendez-vous sur la page de téléchargement.
Si quelqu'un qui maîtrise une autre langue que le français voulait contribuer au projet et donner au jeu une nouvelle langue, il serait le bienvenu.
Eschecs est désormais disponible en espagnol.
http://www.pascalgamedevelopment.com...l=1#post147582
Pour ajouter une nouvelle langue, il faut créer un fichier par exemple chinese.inc, sur le modèle de l'un des fichiers contenus dans le dossier languages.
Pourquoi pas une version en néerlandais, tiens. Je vais m'y atteler.
Je fais également appel aux bonnes volontés pour la relecture et l'amélioration de la documentation.
Bonsoir,
Ah, ça je sais faire, et c'était pas bien gros, alors hop !
1- je n'ai lu que le lisezmoi.txt, supposant que les autres fichiers français (les étrangers je laisse ça à d'autres lecteurs) se basent sur celui-ci.
2- pas trouvé une seule faute :cool:
Alors juste pour pinailler, esthétiquement je préférerais "Le jeu de l'ordinateur provient, dans l'ordre, soit du livre d'ouvertures, soit du détecteur de mat, soit du moteur." plutôt que les trois "ou" qui se suivent.
Et aussi il me semble bien qu'on dit "Crédits" plutôt que "Dettes".
C'est tout et c'est vraiment pas grand chose, bravo !
Par contre, le jeu, vraiment pas le temps (par exemple, j'ai passé les trois quarts de la journée à installer les additions "invité" dans une machine virtuelle, il a fallu que ça me tombe dessus, il y avait un bug dans un .c en fonction de la version de VirtualBox et des sources du noyau Linux, pour le trouver je te raconte pas...)
Bonsoir Jipété, et merci pour la relecture ! Je vais faire la première correction que tu proposes. Pour la deuxième, j'ai encore un doute. J'ai l'impression que "crédits" dans ce sens-là est un anglicisme...
Impression confirmée après consultation du dictionnaire et lecture de cette discussion :
http://languefrancaise.net/forum/viewtopic.php?id=8126
Mais "dettes" sonne bizarre, nous sommes d'accord.
Partager