私は基本的なチェスエンジンを作っていました。私はhttp://web.archive.org/web/20070704121716/http://www.brucemo.com/compchess/programming/alphabeta.htmから多くのアドバイスを得ることができましたが、実際のサイトはダウンしていて、すべてのページがアーカイブされているわけではありません。 (誰でもBruceのサイトのフルバージョンを見つける場所はどこですか?)XBoardとのやり取り(Chess Engine)(C++/C)
しかし、今実際の質問に:私はXBoardとどのように通信しますか?私はそれがstdinとstdout経由であることを理解していますが、私はコードで問題を抱えています。基本的には、始めるために、私はちょうど与えるあるXBoardにハードコードされた入力の動きをあるXBoardからの入力を受信し、コンソール/画面
- にしたいし、それが行動を起こす必要があり
- プログラムユーティリティ機能を持ち、ランダムなチェスを選択するランダムチェスを持っています。
その後、アルファベット検索のような本物の実装を開始できます。
私は最初の2つのことに直面しています。ここに私が書いた/借りたいくつかのコードがあります。
#include <iostream>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#define STR_BUFF 256
using namespace std;
int main (int argc, const char * argv[])
{
char input[STR_BUFF];
char output[STR_BUFF];
while(true){
fflush(stdout);
// read input
if (!fgets(input, STR_BUFF, stdin)){
printf("terminated");
return 0;;
}
printf("%s", input);
}
return 0;
}
私はちょうど約6ヶ月の休憩後戻ってCに取得しています、これは私が別のプログラム(マイナスいくつかの基本的なプログラム)と通信するための標準入力/標準出力パイプラインを使用していた最初のプロジェクトですので、私はいずれかをいただければ幸いですヘルプと説明。私はチェスエンジンをプログラミングすることは難題だと知っていますが、私はすでにチェスのルールをプログラムしています。ブルースのサイトが見つかるのはまったく驚くべきことです。
ブルース・モアランドのサイトの代わりにhttp://chessprogramming.wikispaces.com/を見ることをお勧めしますか? –