2014年3月29日土曜日

[OCaml]リバーシゲームを作ってみた

OCamlの勉強がてら、リバーシ(オセロ)を作ってみた。


コンピュータの思考アルゴリズムは minimaxアルゴリズムを使用した4手先読み。
盤の評価関数は、四隅と縦横の列にディスクを置けると高評価という単純なもの。
でも、適当に手を指していたら、コンピュータに一回負けた...

いろいろ試行錯誤しながら書いた汚ないコードだけど、公開しておこう。

https://github.com/takeisa/ocaml-reversi

モジュールは以下の通り。

reversi.mlリバーシ本体
board.ml
cell.ml盤の升目の定義
computer.mlコンピュータの思考ロジック
disk.mlディスクの定義
pos.ml座標