実動のサンプルがあった方が用途のイメージが涌きやすいのじゃないかと思い、拙作SFEN ReaderをベースにJavaScript製の簡易ビュー
アを作ってみました。
表示する局面は先の投稿にあった記述形式に則って作成していますので、ビューア側も含め改善案等ご意見いただけましたら幸いです。
なおビューアについてはブラウザ上での拡大縮小時や印刷を行った際に駒文字がきれいに出力されるようSVG形式画像を使用しているのですが、今回サン
プ ルを作るにあたってビットマップ画像を新たに用意しなかったのでIEではご覧になれないと思いますので、お手数ですがChrome、
Safari、 Firefoxでご覧願います(←推奨順です)。ビューア側は対応しているのですが。。
そのかわりと言ってはなんですが、ブラウザからページをPDF保存した場合、局面図部分は同様に拡大縮小表示に対応した形で収められます。余談ですが、
PDF形式で電子棋書や教材プリントを作るのなら、この方法が一番手っ取り早いのではないかと思ってます。
(HTMLでページ制作、PDF保存して束ねるだけ)
●サンプル1 単一局面の表示
HTML内にビューアのスクリプトをベタ貼りし、ページ上に単一局面を表示できるようにしたサンプルです。スクリプトはスコブル単純です。
http://www.air-bldg.com/shogiboy/simple.html
●サンプル 2 詰問題の表示
基本データ構成に"sid(局面のID)"というオブジェクトを追加した動く局面図のサンプルです。ここからはビューアのスクリプト、棋譜(JSON)
を外部化し、ページから独立させました。ついでに局面図上の「先手、後手」の文字をクリックして盤面を反転表示する機能と、盤面左半分をクリックして一
手前、右半分をクリックして次の手に進める将棋世界電書風の機能を付けました。
棋譜には簡単な一手詰め問題と、失敗手順、正解手順、さらに脈絡無く平手開始局面が収められています。「電子書籍になったときの詰将棋本」トピックの
takodoriさんの疑問にもある程度なら応えられるかなと思っているのですが、どうでしょう?
ページの文章には指し手記述部分にAタグのリンクが設定してあり、クリックすることでビューアの表示局面を切り替えることが出来ます。テキストを読み進
めながら、必要に応じてユーザが表示局面を切り替えていくのようなインタラクティブ電子棋書的のような使われ方を想定してみました。
http://www.air-bldg.com/shogiboy/tsume.html
●サンプル 3 対局棋譜のリプレイ
連続する局面情報であるところの対局棋譜表示のサンプルです。こちらはsidに加えて"mv"(その局面で駒が動いた、または持ち駒が置かれたマスの
ID)という指し手強調表示用のオブジェクトを追加してます。mvは伝統的な段・筋による座標の記述でなく、盤上の9 一から1一方向に向かって1、
2、3...という順に数字を振ってあります。つまり、動いたのはbd(盤面)の文字列の左から何文字目、という数字がそのままmvという値にあたりま
す。棋譜ファイルは、拙作KZに新たに付けた棋譜形式変換機能を使って自動作成しました。
http://www.air-bldg.com/shogiboy/ryuo.html
●サンプル4 ビジュアル支援と局面検索
ビューア制作をすすめるうちになんだかノリノリになってしまい、いくつかのビジュアル支援機能と局面検索追加しました。サンプルでは局面検索を表示中の
棋譜に対してのみ行っていますが、先の投稿で述べました部分一致局面・完全一致検索とはこのような検索が複数の棋譜に対して横断的に行えるということと
お考えください。
検索設定はGUIを用いた操作で行えるといいと思うのですが、現状はHTMLフォームから直接変更を行うようになっています。それぞれの機能説明は以下
の通りです。
・sb_trace
ユーザ指定の駒の移動を足跡のように残しながら表示する機能です。盤面上で「取る」が発生したマスを強調表示することも出来ます。
・sb_match
一致局面検索です。サンプルは表示中の棋譜から先手居飛車穴熊の盤面パターンが含まれる局面を抽出するように設定にしてあります。現状ではテキスト入力
フォームに正規表現を記述する方式になってます。面倒くさくてすみません。また正規表現のメタ文字には*も利用できますが、ハイライト表示は不完全な対
応になっていると思います。
・sb_filter
指定した駒種を表示/非表示にします。指し手強調表示の強化版です。
・sb_mvlight
On/Off指し手マスのハイライトのオン/オフ
・sb_bwcolor先手駒/後手駒でマスを色分けします。ハム将棋にこのような機能があり、駒文字の判読が難しい海外プレイヤーに役立つのではな
い
かと。。
http://www.air-bldg.com/shogiboy/anaguma.html
●サンプル5 デザインカスタマイズ
ビューア内のデザインレイアウトはすべて外部CSSファイルに分離してあるのですが、これを容易にカスタマイズできるよう、CSS成用の補助スクリプト
を作成してみました。駒画像他のサイズを指定すれば全体のレイアウト指定が正しいサイズで行われるようれるようにしてあります。そして、これを利用して
悪のりしてみたサンプルがこちら。要するに、悪のりの受け狙いです。
http://www.air-bldg.com/shogiboy/hiden.html
●サンプル6 英字駒
SFEN Readerに内蔵してあるものそのまま。HIDETCHIさん駒の方が具合が良さそうですね。。
http://www.air-bldg.com/shogiboy/engpieces.html
以上です。