/*
Ban(1,1)〜Ban(8,8) 盤を2次元配列で表現
Hyouka_hen(0,0)〜Hyouka_hen(6560,1)
に辺の評価得点 (事前に登録しておく)
次手が何色かで評価が異なる為に、2次元配列にしてある。
変数 iro は
次手が何色かを示す。
Kakutei_hen(0)〜Kakutei_hen(6560)
に確定石数 (事前に登録しておく)
石の表現を空き=0 , 黒=1 , 白=2 の様な3進数として計算
*/
Hen1=Ban(1,1)+Ban(1,2)*3+Ban(1,3)*9+Ban(1,4)*27+Ban(1,5)*81+Ban(1,6)*243+Ban(1,7)*729+Ban(1,8)*2187
'※1
Hen2=Ban(8,1)+Ban(8,2)*3+Ban(8,3)*9+Ban(8,4)*27+Ban(8,5)*81+Ban(8,6)*243+Ban(8,7)*729+Ban(8,8)*2187
'※1
Hen3=Ban(1,1)+Ban(2,1)*3+Ban(3,1)*9+Ban(4,1)*27+Ban(5,1)*81+Ban(6,1)*243+Ban(7,1)*729+Ban(8,1)*2187
'※1
Hen4=Ban(1,8)+Ban(2,8)*3+Ban(3,8)*9+Ban(4,8)*27+Ban(5,8)*81+Ban(6,8)*243+Ban(7,8)*729+Ban(8,8)*2187
'※1
Hyouka1=Hyouka_hen(Hen1,iro)
Hyouka2=Hyouka_hen(Hen2,iro)
Hyouka3=Hyouka_hen(Hen3,iro)
Hyouka4=Hyouka_hen(Hen4,iro)
Kakutei1=Kakutei_hen(Hen1)
Kakutei2=Kakutei_hen(Hen2)
Kakutei3=Kakutei_hen(Hen3)
Kakutei4=Kakutei_hen(Hen4)
'※1
上記は、次の様に置き換える事が可能です。(HEN2〜3も同様です)
(((((((BAN(1,8)*3+BAN(1,7))*3+BAN(1,6))*3+BAN(1,5))*3+BAN(1,4))*3+BAN(1,3))*3+BAN(1,2))*3+BAN(1,1))
計算結果は同じですが、こちらの方がわずかに処理速度が速いもようです
リバーシプログラムは処理速度が非常に重要である為、少しでも速い処理を採用した方が良いでしょう。
(プログラムは見づらくなりますが・・・)