日別アーカイブ: 2019-02-07

棋譜自動再生

棋譜リーダーとは

棋譜リーダーあるいは棋譜再生とは、棋譜を読んで画面上に将棋の対戦状況を描画するものです。従前は一手ずつ操作を入れて手を進めるものが多く、今回、自動的に手を進める棋譜自動再生を世に送ります。棋譜ファイルはKIF仕様です。



一手ずつの操作が鬱陶しい、利き手を怪我した、集中して対戦者の棋風を理解したい方への朗報になれば幸いです。

棋譜リーダーの使い方

  1. 大橋流駒並べの速度を設定する。40~1000ミリ秒の値を入力する。40ミリ秒を選択する場合はこの設定を省略できる。大橋流駒並べのボタンは押さない。
  2. ファイルを選択するボタンをクリックして棋譜ファイル名を入力する。
  3. 棋譜再生速度250~10000ミリ秒を入力する。250ミリ秒を選択する場合はこの設定を省略できる。
  4. 試合開始ボタンをクリックする。

 

棋譜自動再生JavaScriptコードをダウンロードするには

以下のここをクリックボタンをクリックします。ダウンロードされたkifuReader.zipファイルを解凍すればkifuReader.htmlになるので棋譜自動再生を実行することができます。

style要素でcssに相当する記述をしており、すべての機能を345行からなるkifuReader.html一個のファイルに凝縮してあります。ソースコードの中には随所にコメントが施されているので初心者にも取り組みやすいことでしょう。

先ずはダウンロードせずとも手元に棋譜ファイルがあれば、次の実演画面でファイルを選択に棋譜ファイル名を設定して自動再生をお楽しみください。

 

棋譜自動再生の実演

棋譜リーダー
将棋研究倶楽部2019 ©TacM,2019 Ver0.02
棋譜ファイル 

プログラミング教育に貢献
  • 2020年度から小学校で必修化
  • プログラミング的思考を育む
  • 知的ゲームでIT社会に適応
『飾り駒』新築祝いなどの贈答品
この作品はJavaScriptで記述され
ています。
将棋は役立つの?
  • 友達が増えた
  • じっくり考えられるようになった
  • 勉強ができるようになった
  • 先を読む力、決断力が身についた

ソースコードの再利用について

  1. このソースコードは①ブラウザ上で将棋棋譜を再生するプログラム:http://www.geocities.jp/shogi_depot/JS/index.htmlと②KIF形式の棋譜ファイルサンプルその2:https://github.com/sandmark/KifuCommetter/tree/master/public/swfを参照して作成されています。両関係者の皆様に感謝申し上げます。
  2. 画面構成はshogi_depotを参照させていただきました。
  3. 制御や描画するコードはオリジナルなものです。
  4. ソースコードの著作権はTacMにありますが、 http://aidesign.lolipop.jp/の利用規定により利用することができます。
  5. 棋譜は「将棋DB2」https://shogidb2.com/等から入手できます。KIF形式のみサポートされています。

さいごに

棋譜自動再生はソフトウェア開発に適したJavaScriptを採用しました。kifuファイルは手入力により作成され多くの冗長が含まれます。厳格さを欠く部分の対応は限定的であることを付記します。

今後の予定はIT将棋の領域に進みたいと考えています。よって、これからは対局の作戦を見破られるソースコードの公開は部分的になることでしょう。