« プログラミング講座(26) 状態遷移 | トップページ | プログラミング講座(28) 石を取り除く処理(再帰呼び出し) »

2010/08/04

プログラミング講座(27) Small Basic検索機能

棋譜ファイルの入出力がとりあえずできたので公開します。プログラムIDはHHF931-1です。
ファイル入出力のオペレーションを加えたため、システムによってコメントにされている行があります。
Small Basicの検索機能を使ってコメントになった行を探して、元に戻してから実行してみてください。

Small Basicの検索機能は[Ctrl]キーを押しながら[F]キーを押すと、以下のようなポップアップが表示されるので、そこにキーワード(例えば"comment")を入れて[検索]ボタンを押します。

Search
【図21 検索】

' The following line could be harmful and has been automatically commented.
' File.WriteLine(sSGF, iSGFLine, "(;GM[1]FF[1]SZ[" + iRo + "]PB[" + sBlack + "]PW[" + sWhite + "]")

のようにコメントになっているので、コメントの「'」を削除し、

File.WriteLine(sSGF, iSGFLine, "(;GM[1]FF[1]SZ[" + iRo + "]PB[" + sBlack + "]PW[" + sWhite + "]")

のように変更してください。コメントになっているところは5箇所あります。

プログラムが大きくなってくると、スクロールが遅く感じられると思います。[検索]機能を使って編集したい箇所へさっと移るとスクロールの遅さを解消できますね。

Igo05
【図22 Igo v0.5 棋譜ファイルを再生したところ】

では今回のバージョン(v0.5)の簡単な使い方を説明します。

1. 起動すると「新規モード」になっています。[対局]ボタンを押してゲームを始めます。
2. 「対局モード」ではマウスで黒白交互に石を並べます。お互いが[パス]をするか、一方が[投了]するとゲームが終了します。
3. 「終了モード」では棋譜の再生が可能です。黒い三角の[再生]ボタンで再生できます。また赤い丸の[保存]ボタンで棋譜を temp.sgf というファイルに保存できます。[新規]ボタンで「新規モード」に戻ります。
※ v0.5では棋譜ファイルの名前は変更できません。現在は保存するたび上書きされます。
4. 一度棋譜 temp.sgf を保存した後は、「新規モード」で[開く]ボタンを押すと棋譜 temp.sgf を読み込み再生します。再生後は「終了モード」に移ります。

【リスト9 棋譜ファイルの中身】
(;GM[1]FF[1]SZ[6]PB[Human]PW[Human]
DT[2010-08-04]KM[0.0]RU[Japanese]
;B[dc];W[cd];B[dd];W[cc];B[cb];W[bb];B[db];W[de];B[ee];W[df]
;B[ef];W[be];B[ba];W[ab];B[ca];W[bc];B[aa];W[tt];B[tt])

作成された棋譜ファイル temp.sgf はメモ帳で開けます。中身は上記のリストのようになっています。このファイルは他の囲碁プログラムで読み書きできるSGF (Smart Game Format)という形式ですが、6路盤の囲碁ソフトはちょっと見かけないので今のところ試せていません。

一応これで棋譜作成機能の構想が達成されたので、次回からさらなる構想に基づいてプログラム作りを進めたいと思います。

(つづく)

|

« プログラミング講座(26) 状態遷移 | トップページ | プログラミング講座(28) 石を取り除く処理(再帰呼び出し) »

囲碁」カテゴリの記事

Small Basic」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: プログラミング講座(27) Small Basic検索機能:

« プログラミング講座(26) 状態遷移 | トップページ | プログラミング講座(28) 石を取り除く処理(再帰呼び出し) »