2017-09-26 4 views
1

Je travaille actuellement sur une API/wrapper Python 3 pour GNU Chess. J'ai fait un peu de recherche et je suis bloqué pour le moment.Ecriture d'une API/wrapper pour GNU Chess en utilisant Python 3

Il ya le Chess Engine Communication Protocol, mais je ne suis pas sûr que ce soit le chemin que je devrais suivre. Il y a aussi Internet Chess Servers, mais encore une fois, je ne sais pas si c'est ce que je devrais examiner. Il y a aussi la Portable Game Notation, mais on dirait qu'elle est faite pour la consommation humaine et non pour les ordinateurs.

Alors, quelle est la meilleure façon d'interagir avec GNU Chess? Devrais-je créer un sous-processus pour interagir avec lui/analyser son résultat? Est-ce la meilleure façon d'y aller?

Voici un exemple de me faire le mouvement d'ouverture dans GNU Chess: 3]

+1

Nous ne pouvons pas vous dire comment coder votre programme, sans parler du fait que c'est principalement basé sur l'opinion. Je voterais pour fermer si j'avais assez de rep. –

+0

Je me demande quelle est la meilleure façon d'interagir avec ce programme. Je suppose que c'est basé sur l'opinion, mais quel est le problème de demander une suggestion? – kuwze

+0

De la documentation à il est en effet un peu difficile de comprendre comment appel sous-processus devrait aimer. Mais pour les échecs python, est-ce que peut vous faire sentir satisfait? –

Répondre

1

Vous devez être plus précis dans votre demande. Avez-vous essayé quelque chose? Avez-vous du code existant? Pour ma part, j'explorerais certainement le protocole de communication du moteur d'échecs s'il s'agit de l'API officielle pour interagir avec GNU Chess. S'il existe une API officielle pour interagir avec certains logiciels, c'est généralement la meilleure solution.

+0

'' 'si c'est l'API officielle'' - il y a un lien fourni en question et il ne dit rien des appels API. –

0

Le lien du protocole Chess Engine que vous avez dans votre question est la clé de votre question. Vous devrez étudier le protocole pour analyser les sorties et envoyer des entrées à GNUChess.