このサイトでは、C言語でのオセロ(リバーシ)のプログラム開発方法を解りやすく説明しています。初級者、初心者でも作れるオセロ実装のコツが満載です。
もちろん、石の位置だけでは強いプログラムは作れません。強いプログラムを作るには、様々な多くの評価アルゴリズムを導入する必要があります。ここでは一般的なアルゴリズムの説明を行います。
一般に、着手可能な手が多い方が、好手のある可能性が高いと言うのは既に述べました。
この考えは、先ほどの重み付けと比較すると、より盤面を大域的にみた方法だといえます。
気を付けなければならないのは、評価している盤面が、「自分の手番か、相手の手番か」ということです。 相手の手番の時に評価を行っているのならば、逆に着手可能手数が少ない方が良いはずです。
実際、確定石の実装は難しいようです。また、都度計算するのは時間が掛かる為あまり効率の良いものとは言えません。
確定石の計算は「辺の回り」だけで良いと思います。それだと速く、そして実装が簡単になります。ただ、弱い相手や強い相手と戦うと、悪手を打つことがあるようですが…。
辺の確定石の数計算方法
また、このアルゴリズムに、隅に石の無い辺の場合
などと定義して加えておけば、一度に辺の評価も出来ます。
オセロに強くなりたい人は下記を読むことをお勧めします。
オセロ(将棋等)のプログラムを開発したい人・ゲームプログラマーになりたい人は下記は持っていて損はないでしょう。
Copyright ©2024 pl_kyo.(since 2001/11/18)