📖 kif-parser - Git hub に上げたもの
「 KIFフォーマットを国際化したいんで、 KIFフォーマットを調べようぜ?」
Example:
# ---- Kifu for Windows95 V3.53 棋譜ファイル ----
開始日時:1999/07/15(木) 19:07:12
終了日時:1999/07/15(木) 19:07:17
手合割:平手
先手:先手の対局者名
後手:後手の対局者名
手数----指手---------消費時間-- # この行は、なくてもいい
1 7六歩(77) ( 0:16/00:00:16)
2 3四歩(33) ( 0:00/00:00:00)
3 中断 ( 0:03/ 0:00:19)
「 👆 漢字 使ってんだな。
これは ビュー であって、モデルではないぜ。 human-presentable」
4.プログラムが読み飛ばすコメント
先頭が 「#」で始まる行は、プログラムが読み飛ばすコメント行である。
どこに挿入されてもいいし、また、削除してもよい。
手合割:x
KIF | むずでょの考えたいいかげんなエイゴ |
---|---|
(手割合) | (Handicap) |
平手 | Hirate |
香落ち | LostLance |
右香落ち | LostRightLance |
角落ち | LostBishop |
飛車落ち | LostRook |
飛香落ち | LostRookLance |
二枚落ち | Lost2Pieces |
三枚落ち | Lost3Pieces |
四枚落ち | Lost4Pieces |
五枚落ち | Lost5Pieces |
左五枚落ち | LostLeft5Pieces |
六枚落ち | Lost6Pieces |
左七枚落ち | LostLeft7Pieces |
右七枚落ち | LostRight7Pieces |
八枚落ち | Lost8Pieces |
十枚落ち | Lost10Pieces |
その他 | Other |
先手:x
後手:x
下手:x
上手:x
x は 対局者名
KIF | むずでょの考えたいいかげんなエイゴ |
---|---|
(手番) | (Phase) |
先手 | FirstPlayer |
後手 | SecondPlayer |
下手 | Trainee |
上手 | Trainer |
開始日時
- 「1999/07/15」 の形式で、日付を記録しなければいけない
対局日
- 開始日時
の別名終了日時
- 開始日時と同じ書式棋戦
戦型
表題
持ち時間
消費時間
場所
掲載
備考
先手省略名
- 局面図の印刷等に使用する後手省略名
- 局面図の印刷等に使用する備考
- 対局情報としても使われるFormat:
<指し手> = [<手番>]<移動先座標><駒>[<装飾子>]<移動元座標>
<手番> = "▲" | "△"
▲: 先手(下手)、△:後手(上手)
※現在、 手番は省略している。
「 👆 三角形はあったりなかったりするんだな。無視すればいいな」
<移動先座標> = <X座標><Y座標> | "同 "
<X座標> "1"~"9":全角アラビア数字
<Y座標> "一"~"九":全角漢数字
"同 "は、直前の指し手の移動先
<駒> 駒名
玉、飛、龍、角、馬、金、銀、成銀、桂、成桂、香、成香、歩、と
龍を「竜」であらわす場合もある。
成銀を「全」、成桂を「圭」、成香を「杏」であらわす場合もある(「詰将棋パラダイス」でも使用)。
KIF | むずでょの考えたいいかげんなエイゴ |
---|---|
(駒の種類) | (PieceType) |
玉 | King |
飛 | Rook |
龍 | Dragon |
竜 | Dragon |
角 | Bishop |
馬 | Horse |
金 | Gold |
銀 | Silver |
成銀 | PromotionSilver |
全 | PromotionSilver |
桂 | Knight |
成桂 | PromotionKnight |
圭 | PromotionKnight |
香 | Lance |
成香 | PromotionLance |
杏 | PromotionLance |
歩 | Pawn |
と | PromotionPawn |
<装飾子> = ["打" | "成"]
打つ場合は、必ず「打」を付ける。
不成の場合は、「不成」を表記しない。
<移動元座標> = "(11)"~"(99)" :()で囲んだ半角2桁の数字
KIF | むずでょの考えたいいかげんなエイゴ | 説明 |
---|---|---|
(中断表記) | (Sign) | |
中断 | Stop | |
投了 | Resign | 手番側が投了したことを示す。投了するまでの消費時間を記録する |
持将棋 | JiShogi | 持将棋になったことを示す |
千日手 | Repeatation | 直前の手で千日手になったことを示す。「千日手」の消費時間は 0 となる |
詰み | Checkmate | |
切れ負け | TimeUp | 時間切れで負けを示す |
反則勝ち | IllegalWin | 直前の指し手が反則であることを示す |
反則負け | IllegalLose | その指し手の手番側が何らかの反則で負けたことを示す。反則の内容は、コメントで記録できる |
入玉勝ち | EnteringKingWin | 手番側が入玉宣言で勝ったことを示す |
不戦勝 | UnearnedWin | 先手(上手)の不戦勝 |
不戦敗 | UnearnedLose | 先手(上手)の不戦敗 |
指し手と同じ行で、指し手の後に、その指し手の消費時間を表記する。
消費時間の()内の最初の数字は、その1手の消費時間(分:秒)、次の数字は、累積の消費時間(時:分:秒)を示す。
消費時間は、省略できる。
「 どうなるんだろうな。 100分かな? 1時間40分かな?」
詰将棋や任意の局面から始まる棋譜は、指し手の前に、開始局面が付く。
初期配置から始まる棋譜(駒落ちを含む)は、開始局面を省略できる。
各指し手の後に「*」で始まる行があると、その指し手に対するコメントになる(複数行可)。
初手の前のコメントは、開始局面のコメントとなる。
「 英語は Explanation
とかでいいかな? プログラム用語の コメント とは分けたいしな」
「&」で始まる行は、その前の手を指した局面に対するしおりを示す。
「&」の後は、しおり名を示す。
📖 将棋の符号
<書きかけ>
Crieitは個人で開発中です。
興味がある方は是非記事の投稿をお願いします! どんな軽い内容でも嬉しいです。
なぜCrieitを作ろうと思ったか
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください!