Othello

Othello
G班
山崎 木下 山本 上手
§1
オセロの表現方法
1:盤面の表現
2:石が置けるかどうかの判定
3:パスについて
4:勝ち負けの判定
1:盤面の表現
(1)8×8の盤面上で行、列それぞれに
左上から0~7の番号をつける。
列 の 番 号
0
1
2
3
4
5
0 0 1 2 3 4 5
(2)マス目の位置n1は
n1=行の番号×8+列の番号
で表現する。(0≦n1≦63)
(3)どのマス目をクリックしたかは、その
座標をマス目の幅で割り、マス目の行と
列を計算し、判定する。
行 1
6
7
6
7
8 9
の 2
番 3
号 4
5
6
55
7
61 62 63
2:石が置けるかどうかの判定
(1)まず石がそこに置けるかどうかを、そのマス目とその
周囲8方向のマス目をチェックする。
(2)置いた石の隣に、置いた石と違う色の石がある限り
調査を進めていき、置いた石と同じ色の石があれば、
石を置けるとする。
(3)違う色の石を挟んだら、石を同じ色にしながら置いた
場所に戻ってくる。
3:パスについて
(1)プレイヤー(黒)の番では、石の置ける置けないにかか
わらず『PASSボタン』が押された時に、相手(白)に順番を
ゆずる。順番は黒を1、白を2として
次の順番=3-現在の順番
という式を用いて黒と白を交互にまわして行く。
(2)コンピュータ(白)の番では、石を置ける位置を調べ、
置ける場所が見つからなかった時、相手(黒)に順番を
ゆずる。
4:勝ち負けの判定
(1)ゲーム中は黒の石と白の石の数を
常に数えて、表示するようにする。
(2)黒も白も石を置けなくなった時、
ゲームを終了させ、そのときの石の数に
よって勝ち負けを判定する。
§2
コンピューターの戦略
1:最弱Version
2:普通Version
1:最弱Version
(1)石を置くマス目を、乱数を用いた計算によって決定し、
§1の2:で述べたように石を置けるかどうかの判定を行う。
(2)石を置くことが出来ればそこに石を置き、プレイヤー
(黒)に順番をゆずる。
(3)置くことが出来なければ再び(1)に戻る。
300回以上繰り返しても置ける場所が見つからない場合、
プレイヤーに順番をゆずる。
2:普通Version その1
(1)先程の乱数頼みの最弱の戦略をベース
にして、新たに戦略を付け加えていく。
(2)白の第一手は『斜め取り』が最も有利
であり、『並び取り』が最も不利である。
したがってコンピュータの第一手目
(第二手目)に斜め取りをするという条件
を付け加える。
3:普通Version その2
(3)次に基本的な戦略として角(右図の
赤い部分)を取ることは重要であり、辺
(黄色の部分)も重要である。また、角の
周りの部分(青い部分)は出来るだけ取ら
ないほうがよい。
したがってまず角に石を置けるかどうかを
判定し、置けるなら置くようにする。同時に
数箇所の角に置ける場合はランダムに置く
角を決める。
0
0
1
2
3
4
5
6
7
1
2
3
4
5
6
7
4:普通Version その3
(5)角に置けない場合は、角の場合と同様に辺に置けるかどう
かを判定し、置けるなら置くようにする。同時に数箇所の辺に
置ける場合は、ランダムに置く辺を決める。
(6)角にも辺にも置けない場合は、角でも辺でも角の周りでも
ない部分(白い部分)に置くようにする。同時に数箇所に置ける
場合は、ランダムに置く場所を決める。
普通Version その4
(7)角でも辺でも角の周りでもない部分にも置けない場合は、
角の周りの部分(青い部分)に置く。同時に数箇所に置ける
場合は、ランダムに置く場所を決める。
END