Games-Go-SGF-0.01 > Games::Go::SGF


Games::Go::SGF - Parse and dissect Standard Go Format files

Games::Go::SGF - SGFファイルの解析と分析


  use Games::Go::SGF;
  my $sgf = new Games::Go::SGF($sgfdata);
  print "Game played on ".$sgf->date."\n";
  print $sgf->white. " (W) vs. ".$sgf->black." (B)\n";
  print "Board size: ".$sgf->size.". Komi: ".$sgf->komi."\n";

  while ($move = $sgf->move($move_no++)) {
    print "$move_no: ".$move->move,"\n";


This is a very simple SGF file parser, of currently limited functionality. It can read and step through SGF files, follow variations, and so on. It's good enough for getting simple statistics about games of Go, and building up Games::Go::Board objects representing games stored as SGF.

これは非常に単純なSGFファイルのパーサで、現在のところ機能的に制限がある。 このモジュールを使って、SGFファイルの読み込みとステップ、手合いの変化のフォロー などができる。碁の試合に関する簡単な統計をとったり、SGFとして記録された試合を 表すGames::Go::Boardオブジェクトの構築を行うには十分役に立つだろう。

$sgf->move returns either a normal Games::Go::SGF::Node or a Games::Go::SGF::Variation object. They behave exactly the same, but the variation object has the additional methods mainline() to get the main line of the game, variation($n) to get the first node in the n'th variation, and variations to retrieve an array of variations. $variation->move will, by default, follow the mainline.

$sgf->moveは通常のGames::Go::SGF::Nodeオブジェクトか、 Games::Go::SGF::Variationオブジェクトを返す。それらは全く同じように 振舞うが、Variationオブジェクトの方はメソッドが追加されている。 mainline()はゲームのメインラインを得ることができる。 variation($n)はn回目の変化の最初のノードを得ることができる。 そしてvariationsは変化を保持した配列を手繰り寄せる。 $variation->moveはデフォルトでメインラインを追いかける。


Better documentation is planned; as is the ability to write as well as read SGF files.

よりよいドキュメントを計画中。SGFファイルの読み込みと同様に 書き込みができるようにする。


Simon Cozens