8. 棋譜データベース
棋譜データベースを用いて、現在の局面と一致する棋譜の次の指し手を表示する機能です。
[棋譜DB]ボタンをクリックすると開始します。
再度クリックすると終了し、通常の対局モードに戻ります。
矢印が次の指し手を表し、矢印の太さは棋譜の数に比例します。
棋譜の数は数字でも表示されます。
任意の矢印の数字の位置にマウスを移動させると、データの詳細が表示されます。
ここで、左の数字は棋譜数で、棋譜数の多い順に表示されます。
右の年月日はその人が最初にその手を指した日です。
なお、その手を最初に指した人の名前の前に*マークが付きます(いわゆる"新手")。
次に、任意の矢印の数字の部分をクリックすると、その指し手で局面が進められます。
以上の操作を繰り返し行うことができます。
[編集]→[棋譜DBコピー]メニューをクリックすると、
現在の局面の指し手のリスト(指し手、棋譜数、勝率)がクリップボードにコピーされます。
注意事項とヒント
- [局面の一致]とは局面と手数が一致することを意味し、途中の経過は考えません。
- [盤面編集]で作成した局面は手数を持っていませんので、[棋譜DB]では判定できません。
- 勝率の計算は引き分けを含みません。従って、先手の勝率と後手の勝率の和は100%です。
- 棋譜を読み込んだ後、[棋譜DB]をONにし、
(局面変更ボタンまたは棋譜リストで)局面を進めると、
棋譜のどこまでが前例があるか知ることができます。
ただし、いったん前例のない局面になっても再度前例に合流することがあります。
- [棋譜DB]と[定跡]を交互にONにすると棋譜データベースと定跡の内容を対比することができます。
- [棋譜DB]中に対局関係の操作を行うと、[棋譜DB]はOFFになります。
- 人名リストの最大数は[ツール]→[オプション]メニューの[棋譜DBリストの人数]で変更することができます。

棋譜データベース
棋譜データベースは、
2ちゃんねる棋譜
から作成したものです。
2chkifu.binはバイナリファイルで書式は以下の通りです。すべて平手です。
盤面座標は1一が1、1九が9、9九が81です。
-------------------------------------------------------------------
作成日(20081219等) int 4バイト データ管理に用いる
総棋譜数(42723等) int 4バイト
以下、棋譜に関するループ
| 手数 int 4バイト
| 以下、差し手に関するループ
| | 移動元 unsigned char 1バイト 盤面座標1-81 持ち駒=82-88(歩-飛)
| | 移動先 unsigned char 1バイト 盤面座標1-81 成るときは +128
| | ・・・
| ・・・
-------------------------------------------------------------------