打ち手候補判定機能検討

必要性

オセロを打つとき、局面と手番によって石の置ける位置・置けない位置がありますが、これが分からないとCPUは思考ができませんし、対人対戦でも自由な場所に打ててしまいゲームになりません。従って打ち手決定機能を実装するためには、前だって打ち手候補を判定する機能が必要になります。

機能仕様

ということで、早速コーディングしようとしたのですが、意外と判定が簡単ではない(≒コーディングが面倒)ことに気づきました。考えながらコーディングすると、コードがぐちゃにぐちゃになってしまいそうなので、先に仕様を整理することに。以下にフローチャートを示します。簡単に説明すると、盤面の左上から右下に向かって順番に全部の位置を見ていき、その位置に石が打てるかどうかを判定、Trueの場合には石を打った場合の局面(8×8のNumpy配列)をリストにappendしていき、結果をReturnするというものです。これでおそらくいけるでしょう。

f:id:Rosyuku:20150819230427p:plain

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA