将棋棋譜中継・再現 Flash アプリケーション "Kifu for Flash"
2017/4/4 柿木 義一
1.ソフトの概要
Web上で将棋の棋譜を再現する Flash アプリケーションです。
特徴:
- 柿木形式の棋譜ファイル(*.kif, *.kifu)を直接再現します。
- 平手、駒落ち、詰将棋の棋譜に対応しています。
- 各指し手のコメントを表示します(オプションで表示なし可)。
- 変化手順を再現できます。
- 棋譜の指し手をクリックすることで、その局面の表示ができます。
- 棋譜ファイルを保存できます。
- 自動更新が可能で、対局の中継ができます。
- 棋戦名、場所、持ち時間を表示できます。
- 将棋盤は、木目・無地の切り替え可能。
- コメント欄の大きさ・有無を指定可能。
- 玉を持つ対局者を指定可能。
Java アプレットにない機能
- 再現ボタンにマウスカーソルを合わせると、説明を表示
- 棋譜にマウスカーソルを合わせると、消費時間を表示(棋譜に分岐がなく、消費時間が記録されているとき)
- 盤面をクリックすると、キーボードで再現可能(→,←,Home,End)
Java アプレットとの違い
- 起動パラメータの指定法が一部異なります。
- 棋譜の最大手数は、800手です。
2.制限
- KI2形式には対応していません。
- ジオシティーズ等、棋譜ファイルをサーバへ転送できないプロバイダでは、拡張子を txt に変えて下さい。
- 棋譜ファイルは、SHIFT-JIS、または、UTF-8の文字コードになっている必要があります。
Kifu for Windows や柿木将棋が出力するのは、SHIFT-JIS、または、UTF-8コードです。
- 棋譜の最大手数は、変化を含め、800手です。
- 対局者名は、8文字まで表示されます。
3.動作環境
Flash Player 9
動作確認ブラウザ:
Windows:
- Internet Explorer 6, 7
- Firefox
Macintosh (OS X):
4.ファイルの構成
動作に必要なファイル
データ等
example.html |
使用例 |
example2.html |
使用例(2) |
resize.html |
コメント欄可変の例 (Unicode の棋譜) |
swfobject.js |
example2で使用するJavaScript |
kifuf_help.html |
HELPファイル |
henka.kif |
変化手順のある棋譜の例 |
no_henka.kif |
変化手順のない棋譜の例 |
no_henka.kifu |
Unicode の棋譜の例 |
tume.kif |
詰将棋の例 |
5.設置法
(1) ファイル
- サーバ上で、Kifu for Flash を使用するディレクトリを作成します。
- ここに、Kifu.swf をバイナリモードで転送します。
- 棋譜ファイルは、そのディレクトリ、または、サブディレクトリ等に転送します。
(位置はパラメータで指定)
(2) HTMLファイル
添付の example.html を元に、以下のように記述します。
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
id="Kifu" width="580" height="500"
codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
<param name="movie" value="Kifu.swf" />
<!-- パラメータを記述する -->
<param name="FlashVars" value="kifu=henka.kif&no_mokume=1" />
<param name="quality" value="high" />
<param name="bgcolor" value="#f0f0f0" />
<param name="allowScriptAccess" value="sameDomain" />
<!-- パラメータを記述する -->
<embed src="Kifu.swf"
FlashVars="kifu=henka.kif&no_mokume=1"
quality="high" bgcolor="#f0f0f0"
width="580" height="500" name="Kifu" align="middle"
play="true"
loop="false"
quality="high"
allowScriptAccess="sameDomain"
type="application/x-shockwave-flash"
pluginspage="http://www.adobe.com/go/getflashplayer">
</embed>
</object>
- 赤字の部分を書き換えます。
- 2か所でパラメータを記述します。
- パラメータは、パラメータ1=値&パラメータ2=値& ・・・という&で区切る形式で記述します。
- ファイル名は、HTMLファイルのあるディレクトリからの相対表現とします。
- HELPファイルは、ファイル名を変え、任意のHTMLファイルにすることができます。
- ファイル名に日本語を使ってはいけません。
- ファイル名の大文字と小文字の違いがあってはいけません。
- パラメータ名はすべて小文字です。
- コメントの行数によって、"height"(高さ)の値を変えて下さい。
- HTMLファイルとSWFファイルが異なるサーバにある場合、SFWファイルと棋譜ファイルをフルパスで指定する必要があります。
例:
<param name="movie" value="http://ホスト名・・・ /Kifu.swf"
/>
<param name="FlashVars" value="kifu=http://ホスト名・・・ /kifu.kif&auto_update=3&・・・
※Flash アプリケーションの設置法は、これ以外にも様々な方法があります。
(3) 起動パラメータ
機能 |
パラメータ |
説明 |
棋譜ファイル名 |
kifu=(棋譜ファイル名) |
棋譜ファイル名
HTMLファイルのあるディレクトリからの相対表現とします。
棋譜ファイルとSWFファイルは同じサーバにある必要があります。
拡張子が .kifu なら UFT-8 の文字コードとします。 |
開始手数 |
start_tesuu=(手数) |
ページを開いたとき、指定手数の局面を表示します。
(手数)は半角数字、"last"で最終局面
指定しないとき、auto_updateが記述されていれば最終局面、それ以外では初期局面を表示します。 |
自動更新 |
auto_update=1 30秒毎に自動更新する
auto_update=2 60秒毎に自動更新する
auto_update=3 3分毎に自動更新する
auto_update=0 自動更新メニューを表示しますが、自動更新はしません。 |
一定時間毎に棋譜ファイルを読み込み、最新の棋譜を表示する自動更新機能です。
対局の中継等で使用します。
※auto_updateを記述すると、自動更新設定のメニューを表示します。また、start_tesuuの指定がないとき、自動更新時、最終局面を表示します。 |
コメント行数 |
comment_line=(行数) (行数) は半角数字 |
コメント行数を指定します。
0だと、コメントを表示しません。
指定なしは、6行となります。
※環境によって、実際に表示される行数は異なる場合があります。 |
ヘルプファイル名 |
help=(ヘルプファイル名) |
ヘルプファイル名の指定。指定しないとき、"kifu_help.html"となります。 |
ヘルプボタン非表示 |
no_help=1 |
ヘルプボタンを表示しません。 |
玉の指定 |
gyoku=0 先手が玉、ただし、名人・王将・竜王・棋王は王
gyoku=1 後手が玉
gyoku=2 先手が玉
gyoku=3 双玉 |
指定なしは、0 の動作となります。 |
棋譜を表示しない |
no_kifu=1 棋譜を表示しない、棋譜表示ボタンあり、再現不可
no_kifu=2 棋譜を表示しない、棋譜表示ボタンなし、再現不可
no_kifu=3 棋譜を表示しない、棋譜表示ボタンなし、再現可能 |
棋譜と再現ボタンを消します。
棋譜表示しない設定のページを棋譜表示ボタンで表示した場合、ブラウザの更新で棋譜は消えます。 |
分単位 |
minute=1 |
この指定をすると、棋譜の消費時間を分単位で処理します。秒の単位は切り捨てられ、消費時間・残り時間は分単位で表示します。
この指定がない場合、秒単位で表示します。 |
コメント欄可変 |
resize=1 |
ウィンドゥに連動して、コメント欄の大きさを変えます。このとき、height を "90%" のように、ウィンドゥの高さに対する割合とします。 |
- 自動更新時の特殊な動作について
自動更新ありで、Kifu for Flash 起動時に棋譜を読み込んだとき、終局していたら、開始局面を表示し、自動更新もなしにします。
- 変化手順の表示
棋譜に変化手順があるとき、変化選択のボタン[+<] [>+] と変化の選択メニューを表示します。
(4) 対局中継例:
自動更新あり(最終局面表示、自動更新設定メニュー表示)
<param name="FlashVars" value="kifu=henka.kif&auto_update=1" />
6.棋譜ファイル
棋譜ファイルは、フリーソフトの Kifu for Windows, Kifu for Macintosh 、または、柿木将棋シリーズで作成できます。
7.情報の表示
右上の欄には、次の情報を表示します。
開始日時
棋戦名
場所
持ち時間
消費時間
▲先手の消費時間
△後手の消費時間
残り時間 *手まで
▲先手の残り時間
△後手の残り時間
手合割 (駒落ちの場合)
8.詰将棋情報の表示
棋譜に詰将棋情報の「作者」が設定されているとき、次の情報を表示します。
作者
作品名
出典 or 発表誌
発表年月
持ち駒制限(持ち駒制限時)
9.残り時間の表示
残り時間を表示するためには、棋譜ファイルの棋譜情報で、「持ち時間」を設定する必要があります。
持ち時間は、全角(または半角で)で「N時間」と記述します。分がある場合は、半角2桁で「NN分」と記述します。分だけの記述も可能です。
- 棋譜の指し手に消費時間が記録されているとき、各指し手の消費時間から残り時間を計算し、表示します。
- 棋譜の指し手に消費時間が記録されていないとき(すべての指し手の時間が0の場合)、棋譜情報の「消費時間」の情報から、手数と残り時間を表示します。この場合、消費時間と残り時間は分単位で表示されます。
消費時間は、次の形式で記述します。
手数▲先手の消費時間(分)△後手の消費時間(分)
※いずれも半角の数字を使います。
例1:
---------- 棋譜ファイル --------------
消費時間:159▲347△359
持ち時間:4時間06分
-----------------------------------
例2:
---------- 棋譜ファイル --------------
持ち時間:30分
-----------------------------------
10.コメント
コメントで、http で始まり、半角空白で終わるURLはリンクとして表示します。
コメントに HTML のサブセットが使えます。例えば、次が使えます
<FONT color="#ff0000">赤</FONT>
<B>ボールド</B>
11.うまくいかないとき
確認項目
- ファイル名の大文字と小文字の違いがないか?
- 棋譜ファイルは、SHIFT-JISコードになっているか?
バージョンアップしたとき
本Flashアプリケーションをバージョンアップし、サーバ上のSWFを更新したとき、ブラウザのキャッシュを削除しないと、それが反映されない場合があります。
FireFox3.0なら、次の操作でキャッシュを削除できます。
- ツールメニューのオプションを実行
- 詳細タブを表示
- オフラインデータの今すぐ消去を実行
棋譜保存ボタンを押しても保存できない場合
- ツール等でポップアップを抑制しているときは、解除して下さい。
- Internet Explorer では、「インターネットオプション」の「セキュリティの設定」で、「ファイルのダウンロード時に自動的にダイアログを表示」を「有効にする」としてみて下さい。
- Ctrlキーを押しながら、棋譜保存ボタンを押してみて下さい。
12. 著作権等
- 本ソフトウェアは、フリー・ソフトウェアとします。
- 本ソフトウェアや本ソフトウェアの画面をWeb上(ホームページ)で自由に使って構いません。
ただし、本ソフトウェアの著作権は、柿木義一にあります。
- インターネット上でプロやアマチュアの対局を中継する場合、本アプリケーションを自由に使って頂いて構いません。
- 本アプリケーションを使って対局を再現・中継する場合、携帯情報端末等で再現可能になることをご了承下さい。
- 本アプリケーションを使って対局を再現・中継する場合、個人のブログ等、他のWebページから本アプリケーションを実行し、棋譜やコメントを表示可能となることをご了承下さい。
- 使い方についてのご質問にはある程度回答しますが、コンピュータやインターネット等に関する基本的な事はご自身でお調べ下さい。
13.履歴
2008/2/20 V0.80
2008/5/22 V1.00
- 自動更新で棋譜が更新されない場合があった問題を修正。
- 盤面を反転したときのY座標が逆だったバグの修正。
- 前の分岐を実行したとき、盤面の表示が更新されなかったバグの修正。
2008/6/15 V1.01
- 終局時の特殊処理が動作しない場合があった問題の修正。
- 自動更新の場合、起動時に駒音を鳴らしたバグの修正。
- 消費時間が正しく読めなかったバグの修正。
- Macでの表示を改善。
- 起動時の自動更新間隔が指定に関わらず30秒になったバグの修正。
- 棋譜の表記が正しくない場合があったバグの修正。
- Windows98で自動更新の文字が化けた問題の修正。
2008/7/10 V1.02
- サーバの負荷が大きいとき、自動更新で、棋譜の開始局面が選択される場合があった問題の修正。
2008/7/14 V1.03
- サーバの負荷が大きいとき、自動更新で、棋譜の開始局面が選択される場合があった問題の修正(V1.02の修正が不完全だった)。
2008/7/18 V1.04
- 棋譜に消費時間が記録されているとき、消費時間を表示するようにした。
- 消費時間を秒単位で処理するようにした。
従来のように、分単位で処理する場合は、minute=1 の指定をする必要があります。
- 将棋倶楽部24の棋譜を読めるようにした。
- 分だけの持ち時間を認識できるようにした。
2008/7/23 V1.05
- 棋譜情報の「消費時間」で消費時間が設定されているとき、消費時間を表示するように。
- 棋譜情報の「消費時間」で消費時間が設定されているとき、分単位とするように。
2008/8/1 V1.06
- 玉の指定を変更
- 持ち駒が完全に表示されない場合があったバグの修正。
2008/10/7 V1.10
- 日本語以外の環境では、英語で表示する。
- 持ち時間:"各"*の表記に対応
2008/12/10 V1.11
- 棋譜の変化手順は青く表示する。
- 変化手順のコメントは青く表示する。
2009/2/9 V1.20
- 駒音の有無を設定可能に
右上の Kifu for Flash の部分をクリックすると、設定画面が表示されます。
- 終局時、残り時間の手数を「終局」と表記
- 中国語の環境では、日本語で表示するように。
2009/3/27 V1.21
- コメント文字の拡大を可能に
- 棋譜の変化手順は青く表示する、を中止(棋譜にマウスを重ねたとき、消費時間が表示されなくなるため)
- 棋譜に消費時間が記録されていて、マウスを重ねたとき、消費時間が0でも表示するように
2009/6/17 V1.22
- 自動更新機能の動作を変更
表示が最終でないとき、棋譜を更新しても、表示局面は変えず、駒音を鳴らし、棋譜の背景の色を変える。
- 棋譜の変化手順は青く表示する(再度)。
2009/12/1 V1.23
- 自動更新で、開始局面に戻していたとき、棋譜が更新されたとき、最終局面になったバグの修正。
- 最終駒の色を設定可能に
- 設定ボタンを追加
- 一文字駒を追加
- ウィンドゥに連動して、コメント欄の大きさを変える機能を追加(パラメータ resize=1)
2010/1/20 V1.24
- UTF-8 の文字コードの棋譜に対応した(棋譜ファイルの拡張子が .kifu なら、UTF-8とする)。
- 投了したとき、前の手のコメントを表示する。
- 木目の有無は、ユーザが設定するようにした(パラメータ no_mokume は中止)。
2010/7/11 V1.25
- コメントに http: で始まり、半角空白で終わる URL+半角空白 があるとき、リンクを開くことを可能にした。
- コメントにHTMLのサブセットを使用可能とした。
2011/11/29 V1.30
2014/2/7 V1.31
- 棋譜を表示しないオプションで起動したとき、分岐も表示しないようにした。
2017/4/4 V1.32
- 備考の表記によって、棋譜を正しく読めない場合があったバグの修正