ShogiGUI
USIプロトコルに対応したShogiGUIの開発情報&マニュアルサイトです。
ダウンロードはこちらになります。
https://sites.google.com/site/shogixyz/home/shogigui
ShogiGUIはUSIプロトコルに対応した将棋GUIソフトです。
USIプロトコル対応の将棋エンジンを使いたい一般ユーザー向けに開発しています。
はじめに
バグの報告やご要望について
バグの報告や要望はこちらの掲示板でお願いします。
要望リスト
現在主にできること(2015/4/18 ver 0.0.3.16)
対局モード
人vsエンジン、エンジンvsエンジンの対局ができます。
検討モード
一手指すごとに自動で将棋エンジンがその局面の指し手を表示してくれる、検討モードがついています。
棋譜解析
簡単な棋譜解析ができます。
対応棋譜
KIF,KI2,CSAフォーマットの読み込み、KIFフォーマットの保存に対応しています。
分岐棋譜にも対応してます。
他機能
・棋譜のツリーダイアグラム表示
ベータ版に向けての予定
・バグの修正
・定跡編集
USIプロトコルの対応状況
エンジンからGUI
盤面表記(sfen)
チェスのfenを将棋用に変更したもので4フィールドからなる。各フィールドはスペースで区切られる。
・駒の種類は王(King) = K, 飛車(Rook)=R, 角(Bishop)=B, 金(Gold)=G, 銀(Silver)=S, 桂馬(Knight)=N, 香車(Lance)=L,歩(Pawn)=P
・駒の種類は先手が大文字、後手が小文字になる。
・成り駒は駒の種類の前に+を付ける
フィールド1 駒配置
・9一から盤上の駒を段ごとに1つずつ記述する。各段は/で区切る。
・空白のマスは数字を記述する。1マス空きなら1,5マス連続で空いているなら5となる。
初期局面の駒配置
lnsgkgsnl/1r5b1/ppppppppp/9/9/9/PPPPPPPPP/1B5R1/LNSGKGSNL
フィールド2 手番
先手ならb (black), 後手ならw(white)を記述する。
フィールド3 持ち駒
・持ち駒の駒種類を記述する。
・複数枚持っている場合は、駒の種類の前に枚数を記述する
先手銀2枚、歩1枚、後手香1枚、歩3枚持っている場合
2SPl3p
フィールド4 手数
次の手数を数値で記述する。
サンプル初期局面のsfen
lnsgkgsnl/1r5b1/ppppppppp/9/9/9/PPPPPPPPP/1B5R1/LNSGKGSNL b - 1
指し手表記
・筋は1~9までの数値表記、段はa~iまでのアルファベット表記 (9一なら9a、1九なら1i)
・駒を移動する手は移動元、移動先を記述する。 初手7六歩なら7g7f
・駒を成る場合は移動元、移動先の後ろに+を付ける。 2二角成りなら 8h2b+
・持ち駒を打つ場合は、駒の種類を大文字で記述、その後ろに*と駒を打った場所を記述する。
55金打ちならG*5e
・投了はresignと記述する。
・勝ち宣言はwinと記述する。
・パス(null move)は0000(UCI方式)かpass(gpsfish方式)と記述する。
他
オプション設定はGUI側で記憶し、対局前に送信するようになっています。
これは対局や検討で、同じプログラムを違う設定で動作させたいためです。
基本的にGPSFIshやBlunderが対応しているコマンドを優先して実装していきます。
(手持ちの将棋エンジンがGPSFishとBlunderなだけです。ついでに両方ともソースが公開されているので対応状況がわかりやすいので。)