Javascript

Kifu for JS

  • POST
na2hiro/Kifu-for-JS: JavaScriptで動く将棋の棋譜再生盤とそのブックマークレット 以下のようなコードを書くと <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="https://na2hiro.github.io/Kifu-for-JS/css/kifuforjs.css"> <script src="https://na2hiro.github.io/Kifu-for-JS/out/kifuforjs.js" charset="utf-8"></script> <script> var Kifu = require("Kifu"); Kifu.settings={ImageDirectoryPath: "https://na2hiro.github.io/Kifu-for-JS/images"}; Kifu.loadString(''); </script> 将棋盤が現れる。 var Kifu = require("Kifu"); Kifu.settings={ImageDirectoryPath: "https://na2hiro.github.io/Kifu-for-JS/images"}; Kifu.loadString(''); <script>Kifu.loadString('');</script> のように空の文字列をロードすると初期配置の将棋盤が現れて、色々と弄りたいときに便利。 棋譜はKIF, KI2, CSA, JKF形式に対応している。load()で棋譜ファイル1がある場所を以下のように指定すると <script>Kifu.load("/files/post/2018/02/the_ryuos_work_is_never_done/saigo_no_shinpan.kif");</script> 対応した将棋盤が現れる。 Kifu.load("/files/post/2018/02/the_ryuos_work_is_never_done/saigo_no_shinpan.kif"); なお、エンコードはShift JISである必要がある。 kif形式の仕様 kif形式の仕様は公式に公開されたものが無いらしく、kif形式詳細 (1) - 勝手に将棋トピックスや、すでにあるkif形式のファイルを参考にするしかない。 自分がわかった範囲でまとめる。 以下に例を示す。 先手:谷川浩司 後手:羽生善治 先手の持駒:銀二 歩四 後手の持駒:飛 角 金 銀 桂 香 歩四 表題:第44期王位戦第4局 9 8 7 6 5 4 3 2 1 +---------------------------+ |v香v桂 ・ ・ ・ ・ ・ ・ ・|一 | ・ ・ ・ 馬 ・ ・ 龍 ・ ・|二 | ・ ・v玉 ・v歩 ・ ・ ・ ・|三 |v歩 ・ ・ ・v金 ・ ・ ・ ・|四 | ・ ・v銀 ・ ・ ・v歩 ・ ・|五 | ・ ・ ・ ・ 玉 ・ ・ ・ ・|六 | 歩 歩 ・ 歩 歩v歩 歩 ・ 歩|七 | ・ ・ ・ ・ ・ ・ ・ ・ ・|八 | 香 桂v金 ・v金 ・ ・ 桂 香|九 +---------------------------+ 手数=171 ▲6二角成 まで *第44期王位戦第4局 後手番 「先手:」(全角コロン)や「後手:」で先手、後手を設定する。