Web拍手:
勢いで作り始めた「HanGame to CSA 変換」が,なんとなくできたぽい.
さっきの棋譜を変換してみた.
ちなみに,私が後手(上から下向きに指していく側).
負けるほうね(^^;).
とりあえず,入力ファイル名がハードコーディングしてあるけれども,変換スクリプトを貼っておきます.
あとでオンライン・コンバータにして,Web 上で稼動させると思う.
あと,フラ盤に CSA 形式の棋譜を与えるときは,リストファイル経由の フラ盤Multi でないとエラーになるっぽい.
まだ,ちゃんと追求していないので,私の勘違いかもしれない.
「
#!/usr/bin/perl
use CGI;
use Jcode;
$han="kifu-20080424225456.txt";
$csa=$han . ".csa";
open(IN, "$han");
open(OUT, ">$csa");
$line = &rd;
&wr("'" . $line);
$line = &rd;
&wr("'" . $line);
# 開始日時
$line = &rd;
$csa_line = $line;
$csa_line =~ s/開始日時://g;
$csa_line =~ s/\(.*\)//g;
&wr("\$START_TIME:" . $csa_line);
# 終了日時
$line = &rd;
$csa_line = $line;
$csa_line =~ s/終了日時://g;
$csa_line =~ s/\(.*\)//g;
&wr("\$END_TIME:" . $csa_line);
# 手合割
$line = &rd;
$teai =~ s/手合割://g;
&wr("'" . $line);
$teai = $line;
# 先手
$line = &rd;
$csa_line = $line;
$csa_line =~ s/先手:/N+/g;
&wr($csa_line . "\n");
# 後手
$line = &rd;
$csa_line = $line;
$csa_line =~ s/後手:/N-/g;
&wr($csa_line . "\n");
&write_initial_position;
# "手数----指手---------消費時間--" を読み飛ばす
$line = &rd;
&wr("'" . $line);
# 指し手を変換しつつ書き出していく
$sengo = "+";
while( $line =
chomp($line);
$line = Jcode->new( $line, "sjis")->euc;
$line =~ s/[ ]*[0-9]*[ ]//g;
$line =~ s/1/1/g;
$line =~ s/2/2/g;
$line =~ s/3/3/g;
$line =~ s/4/4/g;
$line =~ s/5/5/g;
$line =~ s/6/6/g;
$line =~ s/7/7/g;
$line =~ s/8/8/g;
$line =~ s/9/9/g;
$line =~ s/0/0/g;
$line =~ s/一/1/g;
$line =~ s/二/2/g;
$line =~ s/三/3/g;
$line =~ s/四/4/g;
$line =~ s/五/5/g;
$line =~ s/六/6/g;
$line =~ s/七/7/g;
$line =~ s/八/8/g;
$line =~ s/九/9/g;
$line =~ s/打/(00)/g;
$line =~ s/歩成/TO/g;
$line =~ s/と/TO/g;
$line =~ s/香成/NY/g;
$line =~ s/成香/NY/g;
$line =~ s/桂成/NK/g;
$line =~ s/成桂/NK/g;
$line =~ s/銀成/NG/g;
$line =~ s/成銀/NG/g;
$line =~ s/角成/UM/g;
$line =~ s/馬/UM/g;
$line =~ s/飛成/RY/g;
$line =~ s/竜/RY/g;
$line =~ s/歩/FU/g;
$line =~ s/香/KY/g;
$line =~ s/桂/KE/g;
$line =~ s/銀/GI/g;
$line =~ s/金/KI/g;
$line =~ s/角/KA/g;
$line =~ s/飛/HI/g;
$line =~ s/王/OU/g;
$line =~ s/玉/OU/g;
$line =~ s/([0-9][0-9][A-Z][A-Z])\(([0-9][0-9])\)\(([0-9]*):([0-9][0-9])\/[0-9][0-9]:[0-9][0-9]:[0-9][0-9]\)//g;
&wr($sengo . $2 . $1 . "\n");
&wr("T");
&wr($3 * 60 + $4);
&wr("\n");
if ($sengo eq "+") {
$sengo = "-";
}
else {
$sengo = "+";
}
}
close IN;
close OUT;
#====== メインルーチン ここまで
sub rd {
$line =
chomp($line);
$line = Jcode->new( $line, "sjis")->euc;
}
sub wr {
($line) = @_ ;
$line = Jcode->new( $line, "euc")->sjis;
print OUT $line;
}
sub write_initial_position {
&wr("P1-KY-KE-GI-KI-OU-KI-GI-KE-KY\n");
&wr("P2 * -HI * * * * * -KA * \n");
&wr("P3-FU-FU-FU-FU-FU-FU-FU-FU-FU\n");
&wr("P4 * * * * * * * * * \n");
&wr("P5 * * * * * * * * * \n");
&wr("P6 * * * * * * * * * \n");
&wr("P7+FU+FU+FU+FU+FU+FU+FU+FU+FU\n");
&wr("P8 * +KA * * * * * +HI * \n");
&wr("P9+KY+KE+GI+KI+OU+KI+GI+KE+KY\n");
&wr("+\n");
}
1;
」
--
HanGame の棋譜の形式
http://cancoffee2.at.webry.info/200804/article_76.html
アニメーション付棋譜再現プレーヤー 「フラ盤」
http://cancoffee2.at.webry.info/200804/article_74.html
--
【コンピュータの最新記事】
- このブログ「とり茶」を,Seesaaブログから自宅サーバーの WordPress..
- メロディを入力することで楽譜を検索できるシステム,「musiconn.score..
- いつのまにか,MuseScore のモバイルアプリが Freemiumモデルに移..
- 「blogramサービス終了のお知らせ」 どこが運営しているブログシステムかを問..
- noike.info サイトの内容を WordPress で管理することにしまし..
- A 様から,「SMF to MP3 with ぼーか郎」に Amazon ギフト..
- noike.info ドメインの有効期限を 1年延長した.去年と変わらず 160..
- MuseScore の 2.3.2 がリリースされたそうです.
- 「MusicXML to MP3 with ぼーか郎」で,拡張子が .music..
- MuseScore の 2.3.1 がリリースされました.同梱されている言語ファ..
- Windows 用の MuseScore 2.3 で,ストレージ(ディスク)に十..
- MuseScore の 2.3 が公式にリリースされました.個人的には,新機能の..
- MEI, MusicXML, PAE(RISM) のデータを WordPress..
- 池添 彰 様から,noike.info のサービスに Amazon ギフト券での..
- 先日の Windows Update 適用後から Emacs(NTEmacs) ..
- 「東芝コミュニケーションAI「RECAIUS」(リカイアス)の音声合成技術」「音..
- TVアニメ版の「紅殻のパンドラ」を観終えた.全 12 話.「攻殻機動隊」の世界観..
- Android タブレットを PC のマルチディスプレイのひとつにすることを思い..
- MuseScore が 2.2.1 にアップデートされました.2.2 のリリース..
- MuseScore の 2.2 がリリースされました.いままでと同様に無料で使え..
>フラ盤に CSA 形式の棋譜を与えるときは,リストファイル経由の フラ盤Multi でないとエラーになるっぽい.
デバッグはまだできていませんが、現象から察すると間違いないです。近々修正します。
Hangame棋譜はKIF形式の棋譜のようですが、CSAへのオンラインコンバータはとても意義があります。どうもありがとうございます。
--
フラ盤は,Multi のほうで実用になっていますので,Single のほうのデバッグは気長にお待ちしています.
Hangame の棋譜は,拡張子は .txt なものの,中身は KIF 形式だったのですね!
無事にフラ盤で表示できました.
ありがとうございます!
http://noike.info/~kenzi/cgi-bin/han2csa/demo/index2.html
--