9

Pythonでpgnファイルから移動情報を抽出するにはどうすればよいですか? 私はプログラミングが初めてで、助けていただければ幸いです。

4

4 に答える 4

4

私は Python 用の PGN パーサーを持っていませんが、XCode 用の PGN パーサーのソース コードをこの場所から入手できます。

于 2012-05-09T12:58:25.973 に答える
4

Python 固有の指示を与えることはできませんが、最近 Java で PGN コンバーターを作成したので、アドバイスを提供してみます。Miku のリンクの主な欠点は、サイトが .pgn ファイルの差異を許容していないことです。.pgn ファイルは、すべてのサイトで正確な形式がわずかに異なるようです。

  1. 一部の .pgn には、手番号自体に付けられた手番号 (1.e4 ではなく 1.e4) があるため、文字列をトークン化すると、ドットは手番号でのみ発生するため、ドットの配置を確認できます。

  2. あなたが持つことができるすべての異なる動きの組み合わせを解決します。移動が 5 文字の長さの場合、0-0-0 (クイーンサイドの城)、Nge2+ (チェック (+)/チェックメイト (#) による g から e2 へのナイト)、Rexb5 (e のルークが b5 を取る) の可能性があります。

  3. 移動できる最長の文字列は 7 文字です (元のランクとファイルとキャプチャとチェックを指定する必要がある場合)。最短は 2 文字 (ポーン前進) です。

  4. キャスリングとアンパッサンの動きを早めに計画してください。プログラムを構築した方法が簡単に適応できないことに気付くのが遅すぎるかもしれません。

  5. 最初に示される詳細 (ELO レーティング、場所など) は、ファイルごとに異なります。

于 2012-04-27T14:25:56.237 に答える