→topに戻る →目次に戻る 2.2.1 ゲームの木へ戻る← →2.3 ゲームの木の探索---先読みのプログラム---へ
![]() |
というように、リバーシの3つの状態を定義し、
![]() |
と盤の配列を宣言します。
![]() |
盤面を初期化するプログラムは下記の様になります。
![]() |
更新:2013年6月18日
【盤を1次元配列で表す】
さて、上記のように盤は2次元配列で表すとわかりやすいのですが、高速性を要求されるリバーシのプログラムでは、2次元よりも1次元配列を使う方が有利とのこと。
そこで、盤を1次元配列で表すことを考えます。
2次元配列banを1次元配列に対応させるためには、以下の変換式を用います。
ban[x][y] = ban[pos]
= ban[x+y*9] (pos=x+y*9, 1<=x<=8, 1<=y<=8)
逆に、盤上の位置posからx, yを得るには、
x=pos%9
y=pos/9
![]() |
また、
![]() |
と宣言しておいて、端の判定に使います。
盤面を初期化するプログラムは下記の様になります。
![]() |
これで、リバーシの座標x,yと石の色を代入すれば、配列を使ってどのような局面でも表現できることになります。
更新:2013年6月28日