2004年10月10日更新
将棋Web中継システム 飯島将棋中継盤 Ver1.0 設置マニュアル
はじめに
このマニュアルは、飯島将棋中継盤の設置方法について解説したものです。
このマニュアルをご覧になる前に、「飯島将棋中継盤 システム概要」もご一読ください。
先にどんな機能があるかや操作法を知っておくことでより理解が深まります。
1.飯島将棋中継盤のファイルの設置について
1−1.梱包ファイル一覧
飯島将棋中継盤の圧縮ファイル「live.lzh」を解凍すると、
以下に示すクラスファイルが5個と画像ファイルが5個梱包されています。
・Iijimaban.class
・Iijimaban$1.class
・Iijimaban$2.class
・Iijimaban$myBTNListener1.class
・Iijimaban$myCHListener1.class
・komalimg.gif
・komabimg.gif
・komal180img.gif
・komab180img.gif
・komadaiimg.gif
1−2.クラスファイルと画像ファイルの設置
クラスファイルと画像ファイルをそれぞれ任意のフォルダに格納し、
さらに、棋譜管理ファイルと棋譜ファイル1と棋譜ファイル2を作成し、
任意のフォルダに格納します。
(棋譜管理ファイルと棋譜ファイル1と棋譜ファイル2は同一フォルダに格納します。)
HTMLなどドキュメントファイルには、次のように指定します。
<applet code="Iijimaban.class" codebase="(ア)" width="490" height="440">
<param name="imgdir" value="(イ)">
<param name="kifudir" value="(ウ)">
<param name="kanrifile" value="(エ)">
</applet>
(ア):classファイルの格納フォルダ(ドキュメントからの相対パスで指定)
ドキュメントファイルの入っているフォルタに格納している場合、
「codedbase ="……」の指定は省略できます。
(イ):GIF画像ファイルの格納フォルダ(ドキュメントからの相対パスで指定)
ドキュメントファイルの入っているフォルタに格納している場合、
「<param name="imgdir" value="……」の指定は省略できます。
(ウ):棋譜管理ファイル、棋譜ファイル1、棋譜ファイル2の格納フォルダ(絶対パスで指定)
(エ):棋譜管理ファイル名
棋譜管理ファイル、棋譜ファイルについては、後述します。
例:
<applet code="Iijimaban.class" codebase="live/" width="490" height="440">
<param name="imgdir" value="live/">
<param name="kifudir" value="http://www.○○○.co.jp/shogi/kifu/">
<param name="kanrifile" value="kanri.txt">
</applet>
尚、クラスファイルと画像ファイルを同じフォルダに格納する必要はありません。
但し、飯島将棋盤、飯島将棋研究盤、飯島静止将棋盤用のフォルダとは分けてください。
(同一ファイル名のファイルが存在します。)
また、棋譜管理ファイルと棋譜ファイルの格納フォルダは、絶対パスで指定できますが、
同一サーバー内に限ります。
2.棋譜管理ファイル/棋譜ファイルの作成
2−1.棋譜管理ファイルの構造
棋譜管理ファイルは、カンマ区切りのテキスト形式で以下の構造で作成します。
初期対戦カード,棋譜ファイル1,棋譜ファイル2,対戦カード,対局者1,対局者2
初期対戦カード,棋譜ファイル1,棋譜ファイル2,対戦カード,対局者1,対局者2
:
初期対戦カード,棋譜ファイル1,棋譜ファイル2,対戦カード,対局者1,対局者2
1行が1対戦カードの構造をしています。
初期対戦カードは、将棋盤が起動した直後の対戦カードを指定するもので、
1 を指定すると、その対局カードが指定されます。
棋譜ファイル1は、既設棋譜用のファイル名を指定します。
棋譜ファイル2は、更新棋譜用のファイル名を指定します。
対戦カードは、選択コートロールに表示される内容を指定します。
第99期○○戦 ▲○○○○X△○○○○のように書式は自由です。
対局者1は、通常先手対局者名を指定します。(駒落ちなら下手対局者名)
対局者2は、通常後手対局者名を指定します。(駒落ちなら上手対局者名)
対局者名は、駒台の側に表示されます。
レイアウト上、対局者名の前に半角スペースの使用をお勧めします。
例:
1,1-1.txt,1-2.txt,▲羽田善治二冠×△森田俊之三冠, 羽田善治 二冠, 森田俊之 三冠
0,2-1.txt,2-2.txt,▲羽田善治二冠×△谷口浩司棋王, 羽田善治 二冠, 谷口浩司 棋王
0,3-1.txt,3-2.txt,▲羽田善治二冠×△佐々康光棋聖, 羽田善治 二冠, 佐々康光 棋聖
2−2.棋譜ファイル1/棋譜ファイル2の概要
飯島将棋中継盤は、1つの対局毎に、棋譜ファイル1と棋譜ファイル2が必要です。
棋譜ファイル1と棋譜ファイル2の概要は、以下の通りです。
棋譜ファイル1 |
開始局面の駒の配置(平手の初形は省略可) |
開始局面の持駒(平手の初形は省略可) |
第1手目の手番(平手の初形は省略可) |
既設棋譜 |
|
棋譜ファイル2 |
更新棋譜 |
最終コメント(省略時:○○手まで) |
起動局面(省略時:最終手) |
強制リロード(特別な時以外不要) |
|
|
平手の初形の場合、「駒の配置、持駒、手番」を省略でき、ほとんどの場合、棋譜ファイル1には、既設棋譜だけが必要になります。
また、「最終コメント、起動局面、強制リロード」も省略できる場合が多く、終局した対局で終了コメントを記述する他は、ほとんどの場合、棋譜ファイル2には、更新棋譜だけが必要になります。
尚、棋譜は、飯島将棋研究盤(Ver2.1以降)でグラフィカルに入力できます。
棋譜を入力後、「子2」ボタンをクリックするとJavaコンソールに棋譜が自動作成されます。
これを、コピー(ctrlキー+C)&ペーストすることで、棋譜入力の手間を軽減できます。
2−3.棋譜ファイル1の詳細
平手の対局を初手から中継する場合、棋譜ファイル1には棋譜のみ必要になります。
1:指し手,読み上げ
2:指し手,読み上げ
:
?:指し手,読み上げ
棋譜は、飯島将棋研究盤でグラフィカルに入力し「子2」ボタンで自動作成できます。
自動作成せず、手動で作成する場合や詳細を確認される場合、以下をお読みください。
棋譜は、第何手目かを表す「1:」〜「1525:」の後ろに指し手を表す文字列を記述し、
さらに、「,」を付加しその後ろに読み上げを記述します。
(最長手数の制限は、1525手です。)
盤上の駒を用いた指し手は、移動元と移動先の位置を表す4文字の数字で指定します。
例外で、駒が成る場合のみ5文字目に「*」を付加します。
例:第1手目、先手の7七の歩が7六に移動
1:7776,▲7六歩
例:第21手目、先手の8八の角が2二に移動し成る
21:8822*,▲8八角成
持駒を使う指し手は、第1文字目が「0」、第2文字目が駒を表す数字(下表参照)、
第3、4文字目が、盤上の位置を表す数字(棋譜表記と同じで「7六」は「76」)で指定します。
| 歩 | 香 | 桂 | 銀 | 金 | 角 | 飛 |
持駒を使う場合の 駒の種類を表す数字 | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
例:第52手目、後手が持駒「飛」を8九に打つ
52:0689,△8九飛
駒落ちの対局などを中継する場合、棋譜ファイル1には駒の配置や手番なども必要になります。
i1:開始局面の駒の配置
i2:開始局面の駒の配置
:
i9:開始局面の駒の配置
i0:開始局面の持駒
opt:第1手目の手番
1:指し手,読み上げ
2:指し手,読み上げ
:
?:指し手,読み上げ
開始局面の駒の配置は、「i1:」〜「i9:」の後ろに駒を表す9文字の文字列を記述し指定します。
「i1:」は盤上の1段目を表し「i9:」は盤上の9段目を表します。
「i1:」〜「i9:」の後ろに記述する文字列は、先頭から順に盤上の9筋〜1筋を表します。
各駒を表す記号は、次の表の通りです。駒のない位置は、「.」(ドット)で表します。
また、1段すべてに駒がないない場合、その段は省略できます。
「i1:」〜「i9:」を省略すると平手の開始局面とみなされます。
| 歩 | 香 | 桂 | 銀 | 金 | 角 | 飛 | 玉 | と | 成香 | 成桂 | 成銀 | 馬 | 龍 |
後手の駒 | f | i | y | g | k | x | h | o | t | j | z | n | u | r |
先手の駒 | F | I | Y | G | K | X | H | O | T | J | Z | N | U | R |
例:平手の初形(例として揚げましたが、平手の初形の場合は、省略できます。)
i1:iygkokgyi
i2:.h.....x.
i3:fffffffff
i7:FFFFFFFFF
i8:.X.....H.
i9:IYGKOKGYI
開始局面の持駒は、「i0:」の後ろに駒を表す文字(上記表参照)を記述し指定します。
例:先手の持駒が「飛角金歩二」後手の持駒が「金銀銀桂香歩三」
i0:HXKFFkggyifff
第1手目の手番は、第1手目を手前の対局者が指す場合、省略します。
駒落ちのように、第1手目を向う(上手)の対局者が指す場合、「opt:g」と指定します。
2−4.棋譜ファイル2の詳細
棋譜ファイル2は、テキスト形式で以下の構造で作成します。
?:指し手,読み上げ
?:指し手,読み上げ
:
?:指し手,読み上げ
end:最終コメント
go:起動局面
er:強制リロード
更新棋譜の書式は、既設棋譜と同じです。
最終コメントは、「end:」の後ろにコメントを記述し指定します。
省略すると、「○○手まで」と表示されます。(○○には手数が入ります)
最終コメントは、棋譜の選択コントロールにそのまま表示されます。
選択コントロールから表示が溢れないよう「まで先手勝ち」などと短文で指定します。
例:千日手
end:まで千日手
起動直後の局面に「任意の手数まで指し手を進めた局面」を指定できます。
起動局面は、「go:」の後ろに進める局面の手数を記述し指定します。
省略すると、最終手が指定されたとみなされます。
中継を行う場合、ほとんどの場合最終手を指定するため、あまりこの指定は用いません。
例:第15手目
go:15
強制リロード(読み込み)は、棋譜の誤入力があり、既設棋譜を修正したときなど、
既設棋譜を強制的にリロードさせる指定です。
強制リロードは、「er:」の後ろに数値を記述し指定します。
指定する数値は、強制リロードの指定をする毎に1から順に上げて行きます。
実際に棋譜をリロードするタイミングは、この値を読み、数値が上がったときのみです。
次の更新時、強制リロードの指定がされていても数値が同じならリロードはされませんので、
無駄なリロードを繰り返すことはありません。
強制リロードの指定を一旦行うと、棋譜ファイル2よりこの指定を削除することはできません。
例:棋譜の誤入力が1回あり、1回目の強制リロードをかける場合
er:1
3.注意事項
3−1.動作試験
飯島将棋中継盤は、ローカルでの動作試験は行えません。
全ての試験は、インターネット上で行ってください。
ローカルで動作試験する際、棋譜ファイルの格納ディレクトリ(フォルダ)の指定は、
次のような書式になります。
<param name="kifudir" value="file:c:/abc/xyz/kifu/">(Windowsなどの場合)
3−2.更新手数
棋譜ファイル2に入れる棋譜は、何手まとめて入力されても問題ありません。
ただ、あまり多くまとめてしまうと、サーバーへの負荷の軽減が減少してしまいます。
3−3.中継の最中、または、中継終了後の棋譜ファイル2
中継の最中、または、中継終了後の棋譜ファイル2には、最低1手以上棋譜を残してください。
棋譜ファイル1にすべての棋譜を移してしまうと、動作が保証されません。
3−4.FTPの順序
ファイルのFTPは、棋譜ファイル1、棋譜ファイル2の順に行ってください。
例えば、
棋譜ファイル1に第1手目〜第15手目の棋譜があり、
棋譜ファイル2に第16手目〜第18手目の棋譜がある状態で、
先に棋譜ファイル1に第16手目〜第18手目の棋譜を追加し更新(FTP)し、
次に棋譜ファイル2に第19、20手目だけの棋譜を入れ更新(FTP)すれば、
棋譜ファイル2の最終手と棋譜ファイル1の最終手の手数が同手数となる時間帯が生じ、
その瞬間にクライアント側で自動更新されていることが有り得ますが、何ら問題ありません。
このような場合、第19、20手目の更新は、何事もなかったかのように次回以降に行われます。
棋譜ファイル1、棋譜ファイル2の順で更新したときの流れ図
棋譜ファイル1 |
第1手目 |
第2手目 |
: |
第15手目 |
|
|
棋譜ファイル1 |
第1手目 |
第2手目 |
: |
第15手目 |
第16手目 |
第17手目 |
第18手目 |
|
|
棋譜ファイル1 |
第1手目 |
第2手目 |
: |
第15手目 |
第16手目 |
第17手目 |
第18手目 |
|
棋譜ファイル2 |
第16手目 |
第17手目 |
第18手目 |
|
|
棋譜ファイル2 |
第16手目 |
第17手目 |
第18手目 |
|
|
|
一方、棋譜ファイル2を先に更新(FTP)すると、
直後に、棋譜の一部が存在しない時間帯(下図参照)が生じてしまい、
この一瞬のタイミングで自動更新が行われると、正常な動作が期待できません。
棋譜ファイル2、棋譜ファイル1の順で更新したときの流れ図
棋譜ファイル1 |
第1手目 |
第2手目 |
: |
第15手目 |
|
|
棋譜ファイル1 |
第1手目 |
第2手目 |
: |
第15手目 |
(なし) |
(なし) |
(なし) |
|
|
棋譜ファイル1 |
第1手目 |
第2手目 |
: |
第15手目 |
第16手目 |
第17手目 |
第18手目 |
|
棋譜ファイル2 |
第16手目 |
第17手目 |
第18手目 |
|
|
|
|
|
3−5.棋譜の誤入力に対する処置
中継の最中、棋譜の誤入力をしてしまった場合、次の処置を施してください。
棋譜ファイル1に最終手を除いた棋譜を入れ更新(FTP)します。
次に、棋譜ファイル2に棋譜(最終手)を入れ、さらに強制リロードを入れ更新(FTP)します。
強制リロードは、初回ならば、棋譜ファイル2に、次の行を加えてください。
2回目以降ならば、「er:」の後ろの数値を1つ上げてください。
er:1
3−6.中継がない棋譜の掲載
中継がなく、掲載時にはすでに終局している対局の棋譜を掲載する場合、
棋譜は、棋譜ファイル1に全て入れても問題ありません。
4.設置例
4−1.設置例1
飯島将棋中継盤 設置例1(Javaが起動します。)
設置例1は、「平手の対局」の例(2局)で、中継開始直前の例です。
平手の場合、駒の配置を省略しているため、対局開始前の棋譜ファイル1の中身は空です。
また、棋譜ファイル2の中身も空です。
ドキュメントに記述するアプレットタグ
<applet code="Iijimaban.class" codebase="live/" width="490" height="440">
<param name="imgdir" value="live/">
<param name="kifudir" value="http://www.iijimaweb.com/kifu/rei1/">
<param name="kanrifile" value="rei1.txt">
</applet>
棋譜管理ファイル「rei1.txt」
1, a-1.txt, a-2.txt,▲羽田善治二冠×△森田俊之三冠, 羽田善治 二冠, 森田俊之 三冠
0, b-1.txt, b-2.txt,▲佐々康光棋聖×△谷口浩司棋王, 佐々康光 棋聖, 谷口浩司 棋王
▲羽田善治二冠×△森田俊之三冠 棋譜ファイル1「a-1.txt」
空(ファイルだけ存在)
▲羽田善治二冠×△森田俊之三冠 棋譜ファイル2「a-2.txt」
空(ファイルだけ存在)
▲佐々康光棋聖×△谷口浩司棋王 棋譜ファイル1「b-1.txt」
空(ファイルだけ存在)
▲佐々康光棋聖×△谷口浩司棋王 棋譜ファイル2「b-2.txt」
空(ファイルだけ存在)
4−2.設置例2
飯島将棋中継盤 設置例2(Javaが起動します。)
設置例2は、設置例1に引き続き、中継が開始され中継の最中の例です。
1局は、1手だけ指され、もう1局は、2手まで進んでいる例です。
2局目の方は、第1回目の更新で、棋譜を2手分更新した例です。
ドキュメントに記述するアプレットタグ
<applet code="Iijimaban.class" codebase="live/" width="490" height="440">
<param name="imgdir" value="live/">
<param name="kifudir" value="http://www.iijimaweb.com/kifu/rei2/">
<param name="kanrifile" value="rei2.txt">
</applet>
棋譜管理ファイル「rei2.txt」
1, a-1.txt, a-2.txt,▲羽田善治二冠×△森田俊之三冠, 羽田善治 二冠, 森田俊之 三冠
0, b-1.txt, b-2.txt,▲佐々康光棋聖×△谷口浩司棋王, 佐々康光 棋聖, 谷口浩司 棋王
▲羽田善治二冠×△森田俊之三冠 棋譜ファイル1「a-1.txt」
空(ファイルだけ存在)
▲羽田善治二冠×△森田俊之三冠 棋譜ファイル2「a-2.txt」
1:7776,▲7六歩
▲佐々康光棋聖×△谷口浩司棋王 棋譜ファイル1「b-1.txt」
空(ファイルだけ存在)
▲佐々康光棋聖×△谷口浩司棋王 棋譜ファイル2「b-2.txt」
1:2726,▲2六歩
2:3334,△3四歩
4−3.設置例3
飯島将棋中継盤 設置例3(Javaが起動します。)
設置例3は、設置例2に引き続き、中継の最中の例です。
1局は、7手まで指され、もう1局は、8手まで指されている例です。
ドキュメントに記述するアプレットタグ
<applet code="Iijimaban.class" codebase="live/" width="490" height="440">
<param name="imgdir" value="live/">
<param name="kifudir" value="http://www.iijimaweb.com/kifu/rei3/">
<param name="kanrifile" value="rei3.txt">
</applet>
棋譜管理ファイル「rei3.txt」
1, a-1.txt, a-2.txt,▲羽田善治二冠×△森田俊之三冠, 羽田善治 二冠, 森田俊之 三冠
0, b-1.txt, b-2.txt,▲佐々康光棋聖×△谷口浩司棋王, 佐々康光 棋聖, 谷口浩司 棋王
▲羽田善治二冠×△森田俊之三冠 棋譜ファイル1「a-1.txt」
1:7776,▲7六歩
2:8384,△8四歩
3:7968,▲6八銀
4:3334,△3四歩
5:6766,▲6六歩
6:7162,△6二銀
▲羽田善治二冠×△森田俊之三冠 棋譜ファイル2「a-2.txt」
7:5756,▲5六歩
▲佐々康光棋聖×△谷口浩司棋王 棋譜ファイル1「b-1.txt」
1:2726,▲2六歩
2:3334,△3四歩
3:7776,▲7六歩
4:4344,△4四歩
5:2625,▲2五歩
6:2233,△3三角
7:3948,▲4八銀
▲佐々康光棋聖×△谷口浩司棋王 棋譜ファイル2「b-2.txt」
8:8242,△4二飛
4−4.設置例4
飯島将棋中継盤 設置例4(Javaが起動します。)
設置例4は、「平手の中継の終了した対局」と「駒落ちの対局」の例です。
ドキュメントに記述するアプレットタグ例
<applet code="Iijimaban.class" codebase="live/" width="490" height="440">
<param name="imgdir" value="live/">
<param name="kifudir" value="http://www.iijimaweb.com/kifu/rei4/">
<param name="kanrifile" value="rei4.txt">
</applet>
棋譜管理ファイル「rei4.txt」
1, a-1.txt, a-2.txt,▲初心者A7級×△初心者B8級, 初心者A 7級, 初心者B 8級
0, b-1.txt, b-2.txt,▲飯島 勉アマ×△羽田善治二冠, 飯島 勉 アマ, 羽田善治 二冠
▲初心者A7級×△初心者B8級 棋譜ファイル1「a-1.txt」
1:7776,▲7六歩
2:8384,△8四歩
3:5756,▲5六歩
4:5354,△5四歩
5:2858,▲5八飛
6:7162,△6二銀
7:5655,▲5五歩
8:5455,△同 歩
9:8855,▲同 角
10:8485,△8五歩
▲初心者A7級×△初心者B8級 棋譜ファイル2「a-2.txt」
11:5533*,▲3三角成
end:まで初心者Aの勝ち
▲飯島 勉アマ×△羽田善治二冠 棋譜ファイル1「b-1.txt」
i1:iygkokgyi
i2:.h.......
i3:fffffffff
i7:FFFFFFFFF
i8:.X.....H.
i9:IYGKOKGYI
opt:g
1:8384,△8四歩
2:7776,▲7六歩
3:8485,△8五歩
4:8877,▲7七角
5:7162,△6二銀
6:7988,▲8八銀
▲飯島 勉アマ×△羽田善治二冠 棋譜ファイル2「b-2.txt」
7:5354,△5四歩
4−5.設置例5
飯島将棋中継盤 設置例5(Javaが起動します。)
設置例5は、「詰将棋の出題」と「詰将棋の解答」の例です。
ドキュメントに記述するアプレットタグ例
<applet code="Iijimaban.class" codebase="live/" width="490" height="440">
<param name="imgdir" value="live/">
<param name="kifudir" value="http://www.iijimaweb.com/kifu/rei5/">
<param name="kanrifile" value="rei5.txt">
</applet>
棋譜管理ファイル「rei5.txt」
1, a-1.txt, a-2.txt,詰将棋 第1問 出題 , 攻 方, 玉 方
0, b-1.txt, b-2.txt,詰将棋 第1問 解答 , 攻 方, 玉 方
詰将棋第1問出題 棋譜ファイル1「a-1.txt」
i1:.....kgyi
i2:......o..
i3:....T..ff
i4:......f..
i5:.......F.
i0:HXKGhxkkggyyyiiifffffffffffff
詰将棋第1問出題 棋譜ファイル2「a-2.txt」
空(ファイルだけ存在)
詰将棋第1問解答 棋譜ファイル1「b-1.txt」
i1:.....kgyi
i2:......o..
i3:....T..ff
i4:......f..
i5:.......F.
i0:HXKGhxkkggyyyiiifffffffffffff
1:0612,▲1二飛
2:1112,△同 香
3:0333,▲3三銀
4:3233,△同 玉
5:0511,▲1一角
6:3122,△2二銀
7:0443,▲4三金
詰将棋第1問解答 棋譜ファイル2「b-2.txt」
go:0
end:まで7手詰
4−6.設置例6
飯島将棋中継盤 設置例6(Javaが起動します。)
設置例6は、「指定局面戦」の中継の例です。
ドキュメントに記述するアプレットタグ例
<applet code="Iijimaban.class" codebase="live/" width="490" height="440">
<param name="imgdir" value="live/">
<param name="kifudir" value="http://www.iijimaweb.com/kifu/rei6/">
<param name="kanrifile" value="rei6.txt">
</applet>
棋譜管理ファイル「rei6.txt」
1, a-1.txt, a-2.txt,▲羽田善治二冠×△森田俊之三冠, 羽田善治 二冠, 森田俊之 三冠
▲羽田善治二冠×△森田俊之三冠 棋譜ファイル1「a-1.txt」
i1:iygk.kgRi
i2:...oh....
i3:ffff.f..f
i4:......f..
i5:..X.Y....
i6:..F.F....
i7:FF.F.FF.F
i8:.u..K....
i9:IY.KO.GYI
i0:FFgf
22:8887,△8七馬
23:0082,▲8二歩
24:7374,△7四歩
25:8281*,▲8一歩成
26:7475,△7五歩
27:8171,▲7一と
28:6171,△同 金
29:2111,▲1一龍
30:0057,△5七歩
▲羽田善治二冠×△森田俊之三冠 棋譜ファイル2「a-2.txt」
31:5857,▲同 金
あとがき
|