棋譜ビューア更新

棋譜ビューアアップデートしました。

http://www.geocities.jp/flyinpng/kifuviewer/
駒落ち将棋に対応 そして、棋譜のURLが使える様に

サンプル
http://www.geocities.jp/flyinpng/kifuviewer/#6A1yyKhr6d2prFVj6mtxVbefZXmftR9MhlQOQR0qkB/
http://www.geocities.jp/flyinpng/kifuviewer/#BPtTFnoRQCYzoVt8Jxw4Q6Vnd5Dj88sW6t1xhzx3FRkuuuS/
(2011/10/13 ちょい修正)
URLの#以下に棋譜のデータを圧縮して埋め込んでます

操作方法は前と同じで
・loadで読み込み(Lキーでショートカット)
・矢印キーorマウスホイールで棋譜再生
・flip(Fキーでショートカット)で反転
IEでは動かない




棋譜の圧縮について

棋譜はどこまで圧縮できるのか
基本的には
『移動元(9x9 or 持ち駒)、移動先(9x9)、駒の種類(成駒も合わせて14種類)、成るか否か』
の情報があれば良い。
素直に記述すると、移動元2Byte 移動先2Byte 種類1Byte+成/不成1Byteで1手あたり6Byte
ぎりぎりまで詰め込もうとしたら、1手当たりlog((81+1)x81x14x2)/log(256)=2.2Byteになる。


もっと圧縮したければ、その局面で実際に可能な手の数を実際に数えてやるといい。
例:初手は動かせる駒が20通り、金を選んだなら動かせる場所は3通り
合わせて1手が0.74Byteで収まる。

実際の棋譜で試したところ、平均で約100Byte(1手あたり0.9Byte)にまで潰せることが分かった。

・・・というのを使ってます。(A-Za-z0-9しか使ってないのと対局者名も入れてるから実際には1.5倍くらいに)