C言語オセロソースコード公開&ブラウザ実行

タイトル:C言語オセロソースコード公開&ブラウザ実行

このサイトでは、C言語でのオセロ(リバーシ)のプログラム開発方法を解りやすく説明しています。初級者、初心者でも作れるオセロ実装のコツが満載です。

さて実際に作成できたプログラムを紹介します。とは言っても何度も言う通り1級~初段程度です、弱いです。テレビ局のアナウンサーに「プログラムに貴方は勝てますか?」と尋ねられ、「私が5級程度なので一度も勝ったことはありません。」とコメントした後、実際に真面目に勝負しました。するとなんとカメラの前で運悪く勝ってしまったので、もしかしてこのプログラム5級程度??

ブラウザ上で遊んでみる(2023年2月10日更新)

C言語で実装されていますがWASMの技術を使ってブラウザ上で遊べるようにしてみました。

オセロのCPU対戦(勝てば初段)

画面2

プログラムの実装

今回採用した内容は次の通りです。

  • 確定石の数
  • 着手手に基づく評価
  • 発展的開放度に基づく評価
  • 辺(翼、山)、単独C打ちの評価

この順で重みをつけ、開放度理論でαβ法の子ノードの並び替え、その時最悪だと思われる手はカットしています。序盤は定石からの読み出しで、35手から7手読み、それまでは6手読み、45手から必勝読み、46手目以降から完全読みきりと言う形を取っています。

このプログラムを判定すると、大体35手程度から少し崩れます。また、42手から他のプログラムで完全読み切りをさせると、やはり悪手を打っているようです。

1手打つのに所要するスピードはCPU466Mhzで約2秒、35手目が5秒前後、47手目が10秒前後程度だと思います。

ソフトのダウンロード 「Othelet ver1.8」

画面1

Linux/UNIX用(X11のみ使用)

Othelet ver1.8(tar.bz2ファイル) 52KB

Vine Plus に収録されました(2005/02/15)

othelet-1.8-0vl2.i386.rpm(VinePlus)

othelet-1.8-0vl2.src.rpm(VinePlus)

解凍方法

$ gzip -dc othelet.tar.gz | tar xvf -

もしくは

tar zxvf othelet.tar.gz

コンパイル方法

linux系 , IRIXは (GCC 3.x)

gcc -O3 othelet.cxx -I/usr/X11R6/include -L/usr/X11R6/lib -lX11 -lstdc++

SunOS

gcc -O3 -o othelet othelet.cxx -I/usr/X11R6/include -L/usr/X11R6/lib -lX11 -lsocket

となります。

「othelet」を実行後、右上にある「黒」「白」のいずれかのボタンを押すと始まります。

ソフト名Otheletが先手●Otheletが後手○オプション
BearRev 1.3.337 vs ○27●20 vs ○44「強い」選択
Thell 2.3.236 vs ○28●27 vs ○37「強い」選択
Duoth 3.64●29 vs ○3549 vs ○15「コンピュータ9」選択
vsOth 8.20●22 vs ○4248 vs ○16「狐」選択

コマンドライン上で動作するothelet

ソースコードをGitHub上に公開しています。

GitHub上のOthelet

「Download Zip」を押してダウンロードしてください。

ビルドは「make」だけで可能です。

$ make
ファイル 内容
othelet.c メイン関数
movement.c オセロゲームのルール実装
alphabeta.c αβの主軸
eval.c 評価関数
jyouseki.c 定石ファイルの読み込み
book.dat 定石ファイル

オススメ書籍

オセロに強くなりたい人は下記を読むことをお勧めします。

楽天市場で買う 楽天市場で買う 楽天市場で買う 楽天市場で買う

オセロ(将棋等)のプログラムを開発したい人・ゲームプログラマーになりたい人は下記は持っていて損はないでしょう。

楽天市場で買う 楽天市場で買う 楽天市場で買う 楽天市場で買う

ページの先頭へ移動

このページの人気コンテンツ

    Copyright ©2024 .(since 2001/11/18)