TOPページへ

何これ?

mGoban は、囲碁の棋譜を表示・編集したり、囲碁の対局をするためのプログラムです。
Java + Swing で作っています。

次のようなことを極力マウスだけで操作できるプログラムを目指してします。

(1) 棋譜の表示と編集
(2) NNGS 系インターネット碁会所での対局
(3) GTP プロトコルに対応した囲碁プログラムとの対局

現在(2009/11/14)、次のような状況です。
(1)利用頻度の高いプロパティーは表示・編集できる。一部のプロパティーには未対応。(プロパティーの対応状況
(2)WING や IGS での観戦はできる。対局に関しては、WING でテスト(終局処理、undo、中断)した範囲内ではできている。実際に作者は使っているけど、人にすすめられるほどではない。WING の channel には未対応。
(3)囲碁のプログラム(GNU GoMoGoFuego)との対局はできる。

棋譜表示 対 GNU Go IGS 観戦

ダウンロード

mgoban_100504 (2010/5/4)
・死石指定の時に、一つの地の中にある離れた死石をクリック一つで指定できるようにした
・白が勝った時に点数がマイナスに なる不具合を修正した


システム要件

・Java Runtime Environment Version 6 以上(ダウンロード)

Version 5 では動きません。

インストールとアンインストール

・インストール
上のリンクから mgoban_*.*.*.zip ファイルをダウンロードして展開します。

・アンインストール
以下の二つのディレクトリを削除します。
(1) プログラム関係
zip の展開時にできたディレクトリ
(2) 設定の各データ
windows  C:\Documents and Settings\(ユーザー名)\mgoban
linux  ~/.mgoban

使い方

アイコンの説明
アイコン 機能
新しい碁盤を開きます 。
新しい碁盤のサイズ・置き石・コミはダイアログで設定します。
SGFファイルを開きます。
上書き保存します。
このアイコンを選択した状態で碁盤上をクリックすると、着手を黒白交互に追加します。
通常(マークや文字を入力する時以外)は、ここを選択しておきます。
このアイコンを選択した状態で碁盤上をクリックすると、自由置き石を追加します 。
●は黒石、○は白石の追加を行います。×は石の削除を行います。
それぞれの切り替えは、マウスのホイールで行います。
このアイコンを選択した状態で碁盤上をクリックすると、マークを追加します。
マークの種類の変更は、マウスのホイールで行います。
このアイコンを選択した状態で碁盤上をクリックすると、アルファベットを追加します。
アルファベットの変更は、マウスのホイールで行います。
このアイコンを選択した状態で碁盤上をクリックすると、数字 を追加します。
数字の変更は、マウスのホイールで行います。
現在のノード以降を削除します。
現在のノードの後ろに新しいノードを追加します。
選択すると現在のノードにフラグを付けます。もう一度押して選択解除するとフラグを消します。
フラグは、ツリー表示上のノードに 赤い三角で表示されます。
フラグを付けると、それより前のノードに移動しなくなります。
ある局面以後の変化を色々試したい時に、フラグを利用します。
先頭のノードに移動します。
フラグが付いている場合には、そのノードまでだけ移動します。
一つ前のノードに移動します。フラグの付いているノードの前には移動しません。
「マウスホイールの上方向」 or 「左方向のカーソルキー」
一つ後ろのノードに移動します。後ろに複数のノードがある場合は、前回たどったノードに移動します。
「マウスホイールの下方向」 or 「右方向のカーソルキー」
最後のノードに移動します。複数のノードがある場合は、一番上のノードをたどっていきます。
一つ上の変化に移動します。
「シフトキー + マウスホイールの上方向」
一つ下の変化に移動します。
「シフトキー + マウスホイールの下方向」
GNUGo などの囲碁プログラムとの対局時に赤くなり、対局中であることを表示します。
囲碁プログラムとの対局を始めます。
任意の局面からの対局が可能です。
盤のサイズ・置き石の数・コミを変更するには、望みの条件の新しい碁盤を開いてから対局を開始する必要があります。
囲碁プログラムとの対局を中断します。

不具合

・セキの中にある目を数えてしまう

・WING のユーザー情報ウィンドウを複数開いている場合に棋譜一覧を正しく取得できない

把握しきれないものが多数あるはず。

今後の予定

・中途半端で放ってある WING での対局機能のつくりこみ

リンク

WING
無料のインターネット碁会所です。
mGoban は、ここで対局ができることを目指して作っています。

GNU Go
囲碁のプログラムです。無料で利用できます。
独自の GUI を持たないため GTP プロトコルに対応した対局ソフトを使って対局します。
mGoban で対局できます。

GTP - Go Text Protocol
囲碁のプログラム同士の対局や、プログラムと人間の対局の時に利用されるプロトコルです。
mGoban で GNU Go と対局する時には、このプロトコルを利用します。

No Name Go Server (NNGS)
WING に似たコマンド体系をもったサーバープログラムです。ソースコードが公開されています。
mGoban のテスト時に WING の代わりとして使いました。

SGF File Format FF[4]
囲碁の棋譜を保存するために広く利用されているファイルフォーマットの規格です。

古い履歴

mgoban_091114.zip (2009/11/14)
・クリップボードの文字列を SGF として読み込む機能を追加
・タイトルバーに結果を表示するようにした

今回からバージョン名を日付に変更した。

mgoban_0.0.9.zip (2008/1/2)
・一部の GTP エンジンで時間無制限の対局をした場合に対局できない不具合を修正した
・音がならない不具合を修正した

・ログインしなくても一部の設定ができるようにした
・ネット碁とローカル碁盤の選択ウィンドウを選択後に消すようにした

mgoban_0.0.8.zip (2007/12/8)
・3子の置き碁の置き石の位置が間違っていたので修正した
・GNUGo 以外の GTP エンジンとの置き碁ができなかった不具合を修正した
・ツリー表示の端が正しく表示されない不具合を修正した

・名前を mGoban に変えた(設定ファイルの保存ディレクトリやファイル名がかわる)
・持ち時間が短くなったときにベルがなるようにした(30, 20, 10, 9, 8, …)
・GTP 対局で時間の設定ができるようにした
・一部のアクションにボタン上でポップアップする短い説明を追加した
・一部のメニューにアイコンを表示するようにした
今回からダウンロード用ファイルやソースを Google Code に置くようにした。

mgo_0.0.7.zip (2007/12/1)(ソース)
不具合修正
・WING のユーザ情報ウィンドウを複数開いた時に情報が混じる不具合を修正した(棋譜一覧は未対応)
・WING のユーザ情報ウィンドウが親ウィンドウを閉じた時に残る不具合を修正した
・GTP での対局を中断すると GTP ターミナルが自動で閉じない不具合を修正

追加・変更
・画像の保存時に盤面内の範囲を指定できるようにした
・SGF 編集ウィンドウのタイトルバーにファイル名を表示するようにした
・SGF の読み込み時に指定できる文字コードに GB2312(中国語) を追加した
・ノード単体の削除機能をつけた(自身に兄弟があり子に兄弟がある時は未対応)
・WING の対局一覧の表示方法を変更した
・碁盤ウィンドウのサイズなど一部の情報を次回の起動時に復元するようにした
・WING のレーティンググラフを表示できるようにした

mgo_0.0.6.zip (2007/11/25)(ソース)
・ツリー表示で親の兄弟ノードが表示されないことがある不具合を修正した
・Wing で時間切れで終局したときに落ちる不具合を修正した
・Wing で対局開始直後にタイマーが動かない不具合を修正した

・Wing で相手の回線が切れてまた戻ってきた時に続けて対局できるようにした
・着手番号を表示できるようにした
・碁盤上のマーク、ラベル、コウマーク、最後の着手マーク、着手番号をそれぞれオンオフできるようにした
・SGF の読み込み持に文字コードを指定できるようにした
・読み込みダイアログに終局図のプレビューを表示するようにした
・画像の出力機能をつけた

mgo_0.0.5.zip (2007/11/17)(ソース)
・move property の保存が機能してない不具合を修正した
・no type property の保存が機能してない不具合を修正した
・MoGo が final_score コマンドを解釈しないことを考慮していなかったので修正した
・game-info property がダブって保存される不具合を修正した
・置き石の色を正しく扱えないために盤上の石が消える不具合を修正した
・GTP エンジンへの設定変更がすぐに反映されない不具合を修正した

・移動の起点となるノードが設定してある時にはツリー表示に赤い三角で表示するようにした
・shift + マウスホイールでバリエーション間を移動できるようにした
・最後にいったバリエーションを記録してホイール移動の時にはそのバリエーションをたどるようにした
・起動時の引数に sgf ファイルがあった場合には開くようにした
・盤上の石を選択してその石を着手したノードに移動できるようにした
・GTP エンジンのコマンドと作業ディレクトリをダイアログで選択できるようにした

mgo_0.0.4.zip (2007/11/11)(ソース)
・サーバーの追加ボタンが機能してない不具合を修正

・ツリー表示で不要な描画を抑制することで負荷を低減した
・ツリー表示で着手を石で表示するように変更した
・ツリー表示でコメントや対局情報のあるノードが区別できるようにした
・MoGo との対局が停止しないように対策したつもり
・GTP エンジンが異常終了した時に mGo が止まらないようにしたつもり
・SGF の N(ノード名)プロパティーの表示編集ができるようにした
・SGF の各種プロパティー(move, game-info, root, setup)をダイアログで設定できるようにした
・定形文の入力機能と定形文の編集機能をつけた

(2007/11/12)
保存機能が完全に死んでいるのに気づきました。そのうち修正する予定。

mgo_0.0.3.zip (2007/11/1)(ソース)
・ノード間の移動時や着手時のレスポンスを改善した
・sgf の置き石・マーク・ラベルを編集できるようにした
・sgf のコメントを編集できるようにした
・一つのノードを起点に移動できる機能を付けた
・ソースを公開した

大きくイジったので今まで動いていた部分が動かなくなっている可能性があります。
不安定なので WING での対局に利用することはすすめられません。
WING や IGS での観戦や、GNU Go との対局にどうぞ。

mgo_0.0.2.zip (2007/10/13)
・sgf の読み込みをできるようにした(着手の追加や削除以外の機能はありません)
・任意の局面から碁エンジンとの対局ができるようにした
・碁エンジンの作業ディレクトリを指定できるようにした。
MoGo との対局ができるようにした


mgo_0.0.1.zip (2007/8/19)
・初版