JAVAでつくるオセロ

JAVAでつくるオセロ
伊東飛鳥、宮島雄一
長畑弘樹、ソギ原直人
作成手順
盤面の表現
 ルールの適用
 コンピュータの戦略
これらを互いに連携させてゲームを進行する

H16年8月10日
伊東班
盤面の表現
マスの状態を定数で表現する
 初期盤面は64個の空マスと考える
 初期状態に配置する

H16年8月10日
伊東班
ルールの適用
着手可能判定
 石数評価
 ゲームの終了条件

H16年8月10日
伊東班
着手可能判定
そのマスが空の状態である
 そこに石をおいたら相手の石を返すことが
できる

H16年8月10日
伊東班
石を返す判定をするプログラム
挟んでいることを認識させるためには・・・
↓
 ある一方向について挟んでいるかを判定
 同じことを8方向において実行

H16年8月10日
伊東班
着手可能判定後・・・
石を置くと・・・
 その場所に自分の石を置く
 8方向を見て、自分の石で挟んでいる石を
全て裏返す
H16年8月10日
伊東班
石数評価
盤面に白、黒、空のマスがいくつあるかを
常に評価しておく
↓
↓
 勝敗の決定やゲームの終了判定に使う

H16年8月10日
伊東班
ゲームの終了条件

下記のいずれかの条件を満たすとゲーム
を終了する
1.石数評価において、空のマスがなくなった
とき
2.どちらのプレイヤーも石を置くことができ
なくなったとき
H16年8月10日
伊東班
コンピュータの戦略

コンピュータは一番多く石を裏返せるマス
を選択する
H16年8月10日
伊東班
オセロの強さとは
自分に有利な局面に誘導する
 着手可能手数
 確定石
 開放度
H16年8月10日
伊東班
着手可能手数について
自分および相手が石を置けるマスの数が
いくつあるかという値のこと。
 打てる場所が少ないプレイヤーは、石の置
ける場所をコントロールされやすくなり、ひ
どい場合には置きたくない場所(例えば隅
のとなり)に石を置かざるを得なくなる。
 そのため、オセロにおいてはもっとも重要
なパラメータのひとつである。

H16年8月10日
伊東班
確定石について
終局まで返ることのない石の数のこと。当
然多い方が有利になる。
 例えば、隅に石があった場合に、そこから
何石同色の石が連続しているか。

H16年8月10日
伊東班
開放度について

ある手に対し、返した石の周囲にいくつの
空きマスがあるかで定義され(石を置いた
場所は空きマスとみなす)、この値が小さ
い方が良い手となる。
H16年8月10日
伊東班