Transcript 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日
伊東班