

電王をめざす将棋プログラム
『 きふわらべ 』
/(^▽^)\ウワァァ-☆ 2014/09/06時点で開発にまだ着手してない☆ww
の
設計思想を ここで
語っていくんだぜ☆
マニュアル・サークル
━━━━━

ちゆり「電王Ponanzaに勝ちたいんだぜ☆!(*1)
そこで わたしは
自分の得技である取り説の美学 をぶち込んで 戦おうと思っている☆」
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*1……ファミコンの大会か何かと思っている☆ww 16連射では倒せないはずだが……☆wwwwww
夢美 「取り説の美学って 何なんですかね?」

ちゆり「困ったときに そばに置いてあることだぜ☆」
夢美「あっ、こんなところに きふわらべ の取り説が……」
駒を “1種類” にしたい
━━━━━

ちゆり「Bonanza6.0のソースコード解説サイトを読んでいたんだが、びっくり 驚いたことがあるんだぜ☆
将棋の盤を、45度や、90度回転させた盤を持っているらしいんだぜ☆」
Bonanzaが用いているbitboardの定数配列の意味【後編】:Bonanzaソース完全解析ブログ http://d.hatena.ne.jp/LS3600/20091107
夢美 「ひふみんも びっくりね」

ちゆり「なるほど☆ ナナメだと 筋,段 の2つの軸を調べる必要があるんだが、
時計回りに45度回転させて 香車みたいに まっすぐ にすれば 段 1軸でいけるじゃないか☆
角の動きを使って例を見てみよう☆」
角
987654321
香 | 桂 | 銀 | 金 | 王 | 金 | 銀 | 桂 | 香 |
| 飛 | | | | | | 角 | |
歩 | 歩 | 歩 | 歩 | 歩 | 歩 | 歩 | 歩 | 歩 |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
歩 | 歩 | 歩 | 歩 | 歩 | 歩 | 歩 | 歩 | 歩 |
| 角 | | | | | | 飛 | |
香 | 桂 | 銀 | 金 | 王 | 金 | 銀 | 桂 | 香 |
一
二
三
四
五
六
七
八
九

ちゆり「ナナメ盤を使った例を見てみよう☆」
Bonanza6.0 rl45空間
9 8 7 6 5
| 9 | |
| 8 | | 香 | |
| 7 | | | | 桂 | |
| 6 | | 歩 | | 飛 | | 銀 | |
| 5 | | | | 歩 | | | | 金 | |
| 4 | | | | | | 歩 | | | | 王 | |
| 3 | | | | | | | | 歩 | | | | 金 | |
| 2 | | 歩 | | | | | | | | 歩 | | | | 銀 | |
1 | | | | 歩 | | | | | | | | 歩 | | | | 桂 | |
| 香 | | 角 | | 歩 | | | | | | | | 歩 | | 角 | | 香 | |
A | | 桂 | | | | 歩 | | | | | | | | 歩 | | | |
| B | | 銀 | | | | 歩 | | | | | | | | 歩 | |
| C | | 金 | | | | 歩 | | | | | | | |
| D | | 王 | | | | 歩 | | | | | |
| E | | 金 | | | | 歩 | | | |
| F | | 銀 | | 飛 | | 歩 | |
| G | | 桂 | | | |
| H | | 香 | |
| I | |
4
3
2
1
一
二
三
四
五
九 八 七 六
夢美 「かっこいいわね」

ちゆり「わたしはいつも かっこいいぜ☆
そこで 思いついたんだぜ☆
じゃあ、全部の駒を まっすぐさせようじゃないか☆
そうすれば将棋の駒は “1種類” になるんじゃないだろうか☆! ……と☆」
夢美 「なんで全部 まっすぐにする必要があるのよ!」

ちゆり「プログラムするのが簡単になる☆w
将棋は 駒の動きのルールが むずかしいので、
そこが簡単になるなら やりたいじゃないか☆」
夢美 「それで、できそうなの?」

ちゆり「 『できそう、できるんじゃないだろうか』 という感じだぜ☆ ちょっと 見てくれ☆wwwwwwww
本文に入る前に言っておくが、
この文章の続きの内容は、
『プログラムを まっすぐ にしたい』
という 変人の頑固な趣味 に付き合わされるだけだぜ☆
別に 『プログラムを まっすぐにして なんになるのか……』 という人への答えは書いてない☆
では進めるぜ☆」
シンクロ100%☆番地
━━━━━

ちゆり「Ponanzaを参考に番地を振ることにするぜ☆
ニコ動の番組で見た うろおぼえなんだが、多分、こんな感じで振ってるんだと思うんだぜ☆」
番地
9 8 7 6 5 4 3 2 1
9 | 0 | 54 | 45 | 36 | 27 | 18 | 9 | 0 |
10 | 1 | 55 | 46 | 37 | 28 | 19 | 10 | 1 |
11 | 2 | 56 | 47 | 38 | 29 | 20 | 11 | 2 |
12 | 3 | 57 | 48 | 39 | 30 | 21 | 12 | 3 |
13 | 4 | 58 | 49 | 40 | 31 | 22 | 13 | 4 |
14 | 5 | 59 | 50 | 41 | 32 | 23 | 14 | 5 |
15 | 6 | 60 | 51 | 42 | 33 | 24 | 15 | 6 |
16 | 7 | 61 | 52 | 43 | 34 | 25 | 16 | 7 |
17 | 8 | 62 | 53 | 44 | 35 | 26 | 17 | 8 |
一
二
三
四
五
六
七
八
九

ちゆり「マニュアルの都合で ちょっと表記を変えさせてもらうぜ☆
左の方をアルファベットにしたが、数字と変わりない」
番地
9 8 7 6 5 4 3 2 1
J | A | 54 | 45 | 36 | 27 | 18 | 9 | 0 |
K | B | 55 | 46 | 37 | 28 | 19 | 10 | 1 |
L | C | 56 | 47 | 38 | 29 | 20 | 11 | 2 |
M | D | 57 | 48 | 39 | 30 | 21 | 12 | 3 |
N | E | 58 | 49 | 40 | 31 | 22 | 13 | 4 |
O | F | 59 | 50 | 41 | 32 | 23 | 14 | 5 |
P | G | 60 | 51 | 42 | 33 | 24 | 15 | 6 |
Q | H | 61 | 52 | 43 | 34 | 25 | 16 | 7 |
R | I | 62 | 53 | 44 | 35 | 26 | 17 | 8 |
一
二
三
四
五
六
七
八
九
桂馬も、角も、みんな香だ
━━━━━

ちゆり「まず 桂馬 から見ていくぜ☆」
桂馬
夢美「よく見慣れた動きね。 この動きのどこが香なのかしら……?」

ちゆり「桂馬には、4つの筋があるんだぜ☆」
桂馬

ちゆり「ここで わたしは、
“桂馬は 前に1歩しか進めない角” と見なすぜ☆」
桂馬
987654321
J | | 54 | | 36 | | 18 | | 0 |
| | | | | | | | |
| C | | 47 | | 29 | | 11 | |
| | | | | | | | |
N | | 58 | | 40 | | 22 | | 4 |
| | | | | | | | |
| G | | 51 | | 33 | | 15 | |
| | | | | | | | |
R | | 62 | | 44 | | 26 | | 8 |
一
二
三
四
五
六
七
八
九

ちゆり「↑この青色の桂馬の世界は……☆」
桂馬
987654321
J | | 54 | | 36 | | 18 | | 0 |
| C | | 47 | | 29 | | 11 | |
N | | 58 | | 40 | | 22 | | 4 |
| G | | 51 | | 33 | | 15 | |
R | | 62 | | 44 | | 26 | | 8 |
一
三
五
七
九

ちゆり「↑このように空間が縦に圧縮され……☆」
-45度回転
| 1 | | 一 | |
| 2 | | 0 | | 三 | |
| 3 | | | | | | 五 | |
| 4 | | 18 | | 11 | | 4 | | 七 | |
| 5 | | | | | | | | | | 九 |
| 6 | | 36 | | 29 | | 22 | | 15 | | 8 | |
| 7 | | | | | | | | | | | |
| 8 | | 54 | | 47 | | 40 | | 33 | | 26 | |
9 | | | | | | | | | | | |
| J | | C | | 58 | | 51 | | 44 | |
| | | | | | | | |
| N | | G | | 62 | |
| | | | |
| R | |
|

ちゆり「↑ -45度 回転するんだぜ☆」
詰める
| 0 | |
| 18 | 11 | 4 | |
| 36 | 29 | 22 | 15 | 8 |
| 54 | 47 | 40 | 33 | 26 | |
J | C | 58 | 51 | 44 | |
| N | G | 62 | |
| R | |
|

ちゆり「↑ そして詰めるんだぜ☆
首を45度傾けてくれ。
“元の世界” では 桂馬の動きをしているのに、
“桂馬空間” では
“左へ1マスか、上へ1マスしか動けない香車” のように動いているんだぜ☆」
・ ・ ・ ・ ・ ☆

ちゆり「桂馬空間は、4つあるんだぜ☆」
桂馬空間
| 0 | |
| 18 | 11 | 4 | |
| 36 | 29 | 22 | 15 | 8 |
| 54 | 47 | 40 | 33 | 26 | |
J | C | 58 | 51 | 44 | |
| N | G | 62 | |
| R | |
|
銀桂空間
| 9 | 2 | |
| 27 | 20 | 13 | 6 |
| 45 | 38 | 31 | 24 | 17 |
| A | 56 | 49 | 42 | 35 | |
| L | E | 60 | 53 | |
| P | I | |
|
金桂空間
| 10 | 3 | |
| 28 | 21 | 14 | 7 |
| 46 | 39 | 32 | 25 | |
| C | 57 | 50 | 43 | |
| N | F | 61 | |
| Q | |
|
擦銀桂空間
| 1 | |
| 19 | 12 | 5 |
| 37 | 30 | 23 | 16 |
| 55 | 48 | 41 | 34 | |
| K | D | 59 | 52 | |
| O | H | |
|
擦金桂空間
※ 「金」に当たる筋が「金桂」、「銀」に当たる筋が「銀桂」だぜ☆
※ あたまを すりすり する位置が「擦」だぜ☆ 金桂の1つ前へうわ“ずっ”ていれば擦金桂だぜ☆

ちゆり「初期局面では、先手の桂馬には次のように見えている☆」
|
| 歩 | 桂 | |
| 歩 | E | 歩 | 金 | |
| I | 歩 | 49 | 歩 | 金 | |
| 金 | 歩 | 31 | 歩 | 桂 | |
| 金 | 歩 | 13 | 歩 | |
| 17 | 歩 | |
|
左上がり型
|
| 桂 | 歩 | |
| 金 | 歩 | 13 | 歩 | |
| 金 | 歩 | 31 | 歩 | 17 | |
| 桂 | 歩 | 49 | 歩 | 金 | |
| 歩 | E | 歩 | 金 | |
| 歩 | I | |
|
右上がり型

ちゆり「桂馬の動きというと、2段上がって左に1筋進める、といった感じで
Xを+1、Yを-2するかも☆なんだが、
盤を回転させたからには、-1 を使っていくんだぜ☆
盤は縦にみてくれ☆」
縦に見てくれ☆
| | | | | | | | | | | | |
歩 | 桂 |
歩 | E | 歩 | 金 |
I | 歩 | 49 | 歩 | 金 |
| 金 | 歩 | 31 | 歩 | 桂 |
| 金 | 歩 | 13 | 歩 |
| 17 | 歩 | |
| |
左上がり型
| | | | | | | | | | | | |
桂 | 歩 |
金 | 歩 | 13 | 歩 |
金 | 歩 | 31 | 歩 | 17 |
桂 | 歩 | 49 | 歩 | 金 | |
歩 | E | 歩 | 金 | |
| 歩 | I | |
| |
右上がり型

ちゆり「8九の桂馬が右上に跳ねたいとする☆」
桂
987654321
香 | 桂 | 銀 | 金 | 王 | 金 | 銀 | 桂 | 香 |
| 飛 | | | | | | 角 | |
歩 | 歩 | 歩 | 歩 | 歩 | 歩 | 歩 | 歩 | 歩 |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
歩 | 歩 | 歩 | 歩 | 歩 | 歩 | 歩 | 歩 | 歩 |
| 角 | | | | | | 飛 | |
香 | 桂 | 銀 | 金 | 王 | 金 | 銀 | 桂 | 香 |
一
二
三
四
五
六
七
八
九

ちゆり「それが“できない”のは 次の3通りだけだぜ☆
(1)盤から跳びだしてしまった☆
(2)飛び先に自分の駒があって邪魔だった☆
(3)ボクが跳んだら、ボクの王様が取られてしまった☆ (ピン)
このどれにも当てはまっていなければ 右上に飛んでいけない理由はない☆
合法手(*1)なんだぜ☆」
*1……ルールにひっかからない手☆
・ ・ ・ ・ ・ ☆

ちゆり「まずは、盤を使って 桂馬を右上に跳ねさせる方法を説明するぜ☆
『 桂馬空間③の右上がり型の線路4 は、
●○○○○ から、
●○○○ へと、1桁消し飛ばすがよろし 』
と命令すればいいんだぜ☆ なんのことか説明しよう☆」
桂馬空間③の右上がり型とは これだが……☆
| | | | | | | | | | | | |
桂 | 歩 |
金 | 歩 | 13 | 歩 |
金 | 歩 | 31 | 歩 | 17 |
桂 | 歩 | 49 | 歩 | 金 | |
歩 | E | 歩 | 金 | |
| 歩 | I | |
| |
右上がり型
線路4は これ☆
右上がり型
場所は “まる印” で指定する☆
右上がり型
これを ○1個 少なくした場所に動かせ、と命令しているんだぜ☆
右上がり型
・ ・ ・ ・ ・ ☆
夢美 「
(1)盤から飛び出してしまったかどうかを判定するには どうするの?
筋が1~9、段が1~9 に収まっているかどうか
(1 ≦ 筋 ≦ 9) & (1 ≦ 段 ≦ 9)
みたいな判定がいると思うけど」

ちゆり「わたしの考えでは、 判定せずに 盤から飛び出さないように できるんだぜ☆」
夢美 「!?」

ちゆり「将棋のルール上、先手から見て 相手陣地の2段目以上に 桂馬がいることは無いんだぜ☆」
色を付けた場所に 先手の桂馬がいることは無い☆
右上がり型
この図を見るときは、香車の動きを想像して欲しい☆
右上がり型

ちゆり「↑ 世界の端っこがあるな☆
例えば 2九の桂馬を 1七 に跳ねると、 0五 なんてところには飛べないな☆
この 1七 の地点に 桂馬が着地したときは強制的に、
桂 → 右端金桂
という別の動きをする駒に “成る” んだぜ☆」
夢美 「?」

ちゆり「これは 後でまとめる☆」
桂馬以外の将棋の駒は全部 女王 だ、そして女王は香車だ
━━━━━

ちゆり「1つ1つの駒を説明していては 時間が足りないので、
桂馬以外の全ての駒は 女王だ ということで説明しよう☆」
角
夢美「将棋の駒に 女王 があったとは……」

ちゆり「女王は、飛車と 角の動きを持っている☆」
女王
“元の世界”で 飛車として振舞う女王☆
女王
“元の世界”で 角として振舞う女王☆

ちゆり「角道の“ナナメ空間”には、2つの筋があるんだぜ☆」
ナナメ空間
女王
987654321
J | | 54 | | 36 | | 18 | | 0 |
| B | | 46 | | 28 | | 10 | |
L | | 56 | | 38 | | 20 | | 2 |
| D | | 48 | | 30 | | 12 | |
N | | 58 | | 40 | | 22 | | 4 |
| F | | 50 | | 32 | | 14 | |
P | | 60 | | 42 | | 24 | | 6 |
| H | | 52 | | 34 | | 16 | |
R | | 62 | | 44 | | 26 | | 8 |
一
二
三
四
五
六
七
八
九

ちゆり「↑ この桃色の女王の世界は……☆」
-45度回転
| 1 | | 一 | |
| 2 | | 0 | | 二 | |
| 3 | | | | | | 三 | |
| 4 | | 18 | | 10 | | 2 | | 四 | |
| 5 | | | | | | | | | | 五 | |
| 6 | | 36 | | 28 | | 20 | | 12 | | 4 | | 六 | |
| 7 | | | | | | | | | | | | | | 七 | |
| 8 | | 54 | | 46 | | 38 | | 30 | | 22 | | 14 | | 6 | | 八 | |
9 | | | | | | | | | | | | | | | | | | 九 |
| J | | B | | 56 | | 48 | | 40 | | 32 | | 24 | | 16 | | 8 | |
| | | | | | | | | | | | | | | | |
| L | | D | | 58 | | 50 | | 42 | | 34 | | 26 | |
| | | | | | | | | | | | |
| N | | F | | 60 | | 52 | | 44 | |
| | | | | | | | |
| P | | H | | 62 | |
| | | | |
| R | |
|

ちゆり「↑ -45度回転するんだぜ☆」
詰める
| 0 | |
| 18 | 10 | 2 | |
| 36 | 28 | 20 | 12 | 4 | |
| 54 | 46 | 38 | 30 | 22 | 14 | 6 | |
J | B | 56 | 48 | 40 | 32 | 24 | 16 | 8 |
| L | D | 58 | 50 | 42 | 34 | 26 | |
| N | F | 60 | 52 | 44 | |
| P | H | 62 | |
| R | |
|

ちゆり「↑ そして詰めるんだぜ☆」
ぱりっと割る
| 0 | |
|
| 18 | 10 | 2 | |
|
| 36 | 28 | 20 | 12 | 4 | |
|
| 54 | 46 | 38 | 30 | 22 | 14 | 6 | |
|
J | B | 56 | 48 | 40 | 32 | 24 | 16 | 8 |
|
| L | D | 58 | 50 | 42 | 34 | 26 | |
|
| N | F | 60 | 52 | 44 | |
|
| P | H | 62 | |
|
| R | |
|
| | | | | | | | 0 | | | | | | | | |
18 | 10 | 2 |
36 | 28 | 20 | 12 | 4 |
54 | 46 | 38 | 30 | 22 | 14 | 6 |
J | B | 56 | 48 | 40 | 32 | 24 | 16 | 8 |
| L | D | 58 | 50 | 42 | 34 | 26 | |
| N | F | 60 | 52 | 44 | |
| P | H | 62 | |
| R | |

ちゆり「↑ そして 縦筋と横筋に ぱりっと割るんだぜ☆」
縦にそろえる
9 8 7 6 5 4 3 2 1
| | | | | | | | J | | | | | | | | |
L | B | 54 |
N | D | 56 | 46 | 36 |
P | F | 58 | 48 | 38 | 28 | 18 |
R | H | 60 | 50 | 40 | 30 | 20 | 10 | 0 |
| 62 | 52 | 42 | 32 | 22 | 12 | 2 | |
| 44 | 34 | 24 | 14 | 4 | |
| 26 | 16 | 6 | |
| 8 | |
左上がり型
9 8 7 6 5 4 3 2 1
| | | | | | | | 0 | | | | | | | | |
18 | 10 | 2 |
36 | 28 | 20 | 12 | 4 |
54 | 46 | 38 | 30 | 22 | 14 | 6 |
J | B | 56 | 48 | 40 | 32 | 24 | 16 | 8 |
| L | D | 58 | 50 | 42 | 34 | 26 | |
| N | F | 60 | 52 | 44 | |
| P | H | 62 | |
| R | |
右上がり型

ちゆり「↑ 縦にそろえるぜ☆ これがナナメ世界①の座標なんだぜ☆
元の世界では H番地 にいた角も、ナナメ世界①では
左上がり型で 線路8で ○●、
右上がり型で 線路5で ○○○○○○○●、にいることに されるぜ☆」
ナナメ空間
9 8 7 6 5 4 3 2 1
| | | | | | | | J | | | | | | | | |
L | B | 54 |
N | D | 56 | 46 | 36 |
P | F | 58 | 48 | 38 | 28 | 18 |
R | H | 60 | 50 | 40 | 30 | 20 | 10 | 0 |
| 62 | 52 | 42 | 32 | 22 | 12 | 2 | |
| 44 | 34 | 24 | 14 | 4 | |
| 26 | 16 | 6 | |
| 8 | |
8 7 6 5 4 3 2 1
| | | | | | K | | A | | | | | | |
M | C | 55 | 45 |
O | E | 57 | 47 | 37 | 27 |
Q | G | 59 | 49 | 39 | 29 | 19 | 9 |
I | 61 | 51 | 41 | 31 | 21 | 11 | 1 |
| 53 | 43 | 33 | 23 | 13 | 3 | |
| 35 | 25 | 15 | 5 | |
| 17 | 7 | |
左上がり型
9 8 7 6 5 4 3 2 1
| | | | | | | | 0 | | | | | | | | |
18 | 10 | 2 |
36 | 28 | 20 | 12 | 4 |
54 | 46 | 38 | 30 | 22 | 14 | 6 |
J | B | 56 | 48 | 40 | 32 | 24 | 16 | 8 |
| L | D | 58 | 50 | 42 | 34 | 26 | |
| N | F | 60 | 52 | 44 | |
| P | H | 62 | |
| R | |
8 7 6 5 4 3 2 1
| | | | | | 9 | | 1 | | | | | | |
27 | 19 | 11 | 3 |
45 | 37 | 29 | 21 | 13 | 5 |
A | 55 | 47 | 39 | 31 | 23 | 15 | 7 |
K | C | 57 | 49 | 41 | 33 | 25 | 17 |
| M | E | 59 | 51 | 43 | 35 | |
| O | G | 61 | 53 | |
| Q | I | |
右上がり型

ちゆり「↑ ナナメ空間は2つあって、どちらかに居るんだぜ☆
女王は、ここが桂馬と違うところなんだが、
“元の世界” で 飛車の動きをし、
“ナナメ空間”でも飛車の動きをしている☆
2つの空間に跨って存在しているんだぜ☆」
夢美 「将棋の駒はどこにいったのよ!」
銀も 香だ
━━━━━

ちゆり「一応、サンプルとして 銀の動きも挙げておこう☆」
銀
夢美「よく見慣れた動きね。 この動きのどこが香なのかしら……?」

ちゆり「“元の世界”と、“ナナメ世界”に分割するんだぜ☆!」
銀
“元の世界”で 香車として振舞う銀☆ ただし、前に1歩しか “進む気がない”☆
銀 -45度回転
| 1 | | 一 | |
| 2 | | | | 二 | |
| 3 | | | | | | 三 | |
| 4 | | | | | | | | 四 | |
| 5 | | | | | | | | | | 五 | |
| 6 | | | | | | | | | | | | 六 | |
| 7 | | | | | | | | | | | | | | 七 | |
| 8 | | | | | | | | 30 | | | | | | | | 八 | |
9 | | | | | | | | | | | | | | | | | | 九 |
| | | | | | | 48 | | 銀 | | 32 | | | | | | | |
| | | | | | | | | | | | | | | | |
| | | | | | | 50 | | | | | | | |
| | | | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | |
| | | | | | |
| | | | |
| | |
|
“ナナメの世界”で 香車として振舞う銀☆ 一度に1歩しか “進む気がない”☆
全部 香車だ
━━━━━
『きふわらべ』の話 2ページ目
またのお越しをお待ちしております