「サルかも将棋」 その15 盤面のデータ構造 初級編 ③

前回取り上げた「二次元配列」は指数のレンジチェックが面倒なのですが、少々改造することにより楽になります。

これを...

KY KE GI KI OH KI GI KE KY
.. HI .. .. .. .. .. KA ..
FU FU FU FU FU FU FU FU FU
.. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. .. ..
FU FU FU FU FU FU FU FU FU
.. KA .. .. .. .. .. HI ..
KY KE GI KI OH KI GI KE KY

以下の様に拡張します。

xx xx xx xx xx xx xx xx xx xx xx
xx KY KE GI KI OH KI GI KE KY xx
xx .. HI .. .. .. .. .. KA .. xx
xx FU FU FU FU FU FU FU FU FU xx
xx .. .. .. .. .. .. .. .. .. xx
xx .. .. .. .. .. .. .. .. .. xx
xx .. .. .. .. .. .. .. .. .. xx
xx FU FU FU FU FU FU FU FU FU xx
xx .. KA .. .. .. .. .. HI .. xx
xx KY KE GI KI OH KI GI KE KY xx
xx xx xx xx xx xx xx xx xx xx xx

"xx"は「盤外」を意味します。

こうすると、行列の指数のレンジチェックをする代わりに「指数」のマスにある値が"xx"なら盤外なのでそこはスキップする...と少々処理がすっきりします。

チェスの場合、桂が八方に動くので盤外エリアが二層必要となります。

投稿者: webMaster 投稿日時: 水, 08/31/2011 - 07:50 categories [ ]