website logo
Auteur
avatar
JuLieN

Forum » » Jeux » » Mon jeu d'échec est disponible sous MorphOS


Post� : 11-01-2012 13:10 icone du post

Je viens seulement de voir que cette discussion s'était développée. Pardon, donc, si j'y réponds un peu tard.

Oui, piloter un jeu d'échecs UCI via le shell est assez fastidieux, car tout ceci est normalement assuré par une interface graphique. Cela dit, avec les historiques de shell (touche haut/bas), cela reste jouable.

Voici quelques points:

1) pour créer une nouvelle partie, il faut entrer (puis appuyer sur "entrée") la commande "ucinewgame" (sans les guillemets).
Cela paramètre le moteur d'échecs pour une nouvelle partie (si vous ne le faites pas, vous aurez des erreurs, car le protocole UCI interdit à un moteur, pour des raisons de timing dans une interface graphique, de se paramétrer tout seul sans cette commande).

2) ensuite, pour entrer un coup, si vous commencez, vous pouvez faire:
"position moves e2e4" (n'oubliez pas le "s" Ã moves... "position" signifie que vous allez modifier la position contenue en mémoire du jeu, et e2e4 est le coup proprement dit, en notion algébrique traditionnelle (voir: http://fr.wikipedia.org/wiki/Notation_algébrique#Notation_alg.C3. A9brique ). Notez qu'il n'y a pas besoin de mettre un "x" en cas de capture de pièce, et que promouvoir un pion en tour se notera par exemple e7e8R (R= Rook=Tour en anglais).

3) ensuite, vous lancer le tour de jeu du moteur en tapant par exemple "go movetime 10000" pour le faire réfléchir dix secondes. Il vous répondra par exemple "bestmove d7d5 ponder e4d5". la partie ponder ne vous concerne pas (elle aurait de l'importance pour une interface graphique), par contre "d7d5" est important: c'est le coup qu'il joue. (Le coup est effectué en mémoire, vous n'aurez pas besoin d'entrer le coup de l'ordinateur par vous-même).

4) ensuite vient votre tour de jeu, et vous pouvez par exemple entrer : "position moves e4d5".
Etc...


Points supplémentaires:
---------------------------------
* Attention, ne faites pas d'erreur: si le coup que vous entrez est invalide, le moteur ne vous le dira pas, il se contentera de ne pas en tenir compte (car normalement c'est à l'interface graphique d'avertir le joueur que le coup qu'il veut jouer est illégal).
* le moteur connaît d'autres modes de réflexion que simplement un temps limite. Par exemple vous pouvez rentrer "go nodes 100000" pour lui faire analyser un maximum de 100000 positions avant de jouer son coup, ou encore "go depth 8" pour lui faire analyser sur 8 coups de profondeur (4 coups ordi + 4 coups joueurs: on parle de "demi-coups", ou "plies" en anglais: un ply, des plies) avant de rendre sa décision.
* pour que l'ordi ne joue pas toujours les même ouvertures, vous pouvez forcer une ligne au début en entrant par exemple:
position moves e2e4 c7c5 g1f3 b8c6 d2d4" pour forcer une ouverture sicilienne (ce n'est qu'un exemple).

Ce ne sont là que quelques unes des (très nombreuses) possibilités offertes par le protocole UCI: lisez bien la description du protocole (lien donné plus haut) pour en utiliser toutes les richesses. :)

Cet article provient de Meta-MorphOS
https://www.meta-morphos.org/viewtopic.php?topic=949&forum=54