最終課題:オセロゲーム

コンピュータ対戦方式の一人用オセロゲームです.チョイスからプレイしたいモードを選択し,NewGameボタンを押すことでゲームを開始できます.自分の番の時は石を置きたいところでクリックします.相手の番の時は盤上のどこかでクリックをすることでコンピュータが適切と判断したところに石を置きます.これを繰り返し,自分とコンピュータが連続でパスをした時点で終了します.Levelの違いはコンピュータの読みの深さの違いであり,Level1から順に読みの深さが1手,3手,5手,7手となります.

コンピュータが手を考える方法は以下の通りです.まず,局面の「価値」を次のように定義します.下の表を利用し,自分の石が置かれているところはその場所に対応する得点をプラス,相手の石が置かれているところはその場所に対応する得点をマイナスします.その合計を価値とします.

400 40 100 70 70 100 40 400
40 15 30 20 20 30 15 40
100 30 40 30 30 40 30 100
70 20 30 30 30 30 20 70
70 20 30 30 30 30 20 70
100 30 40 30 30 40 30 100
40 15 30 20 20 30 15 40
400 40 100 70 70 100 40 400

一手読みの場合,コンピュータは次の一手を打って石を裏返した結果の「価値」が最も高くなるように手を決めます.三手読みの場合は,次の一手に対し黒がどう打ってくるかを同じように一手読みで決め,それに対する手(三手目)を実行した時点で「価値」が最も高くなるような手を選択します.五手読み,七手読みも同様です.

ソースはこちら