CentOSでUECコンピュータ大貧民大会の配布プログラムを動かしてみる。


UECda

公式サイト

UECコンピュータ大貧民大会、通称UECdaは電気通信大学の学園祭の日程と合わせて毎年開催されます。内容は、トランプゲームの大貧民(大富豪)をプレイするプログラムを対戦させ、最も強いプログラムを決める大会です。なので、参加するには、大会の環境で動くプログラムを事前に作成する必要があり、そのための基本的なサンプルや過去の優勝したプログラムなどは公式サイトで配布されています。今回はこの配布プログラムを動かして、対戦している様子が見えるところまでまとめます。公式サイトにはドキュメントがありますのでMacやWindowsで動かす方法はそちらを参照ください。

大会自体は上記の通り電気通信大学の学園祭の日程と同じなので11月中頃に行われますが、参加登録自体は1~2か月前からできて、1,2週間前には締め切られたと思います。

環境準備

VirtualBoxに入れたCentOS6.7で今回は動かしました。
minimalではなくDesktopが表示される方を入れましょう。
最終的に対戦画面はGUIで見えるようになります。

ダウンロード

開発キットをダウンロードして解凍します。
今回はC言語版です。

公式サイトからダウンロードできますがダウンロードリンクは年度によって変わるかもしれないので最新のものをとってきましょう。

mkdir uecda
cd uecda
curl -O http://uecda.nishino-lab.jp/files/tndhm_devkit_c-20140627.tar.gz
tar xvzf tndhm_devkit_c-20140627.tar.gz

サーバ実行

初めにgccを入れておきます。

yum install gcc

これで残りがすんなり動くと幸せなのですが動かなかったのでいろいろ入れます。

yum install libX*

この後は公式サイトのドキュメントと手順は同じです。
サーバを実行します。

cd tndhm_devkit_c-20140627
cd server
./configure
make
cd src
./tndhms

クライアント

クライアントを実行します。
以下を行う前にserverと同じ改装にあるclientフォルダに移動して以下を行っていきます。

./configure
make

次にクライアントをサーバにつないでいきます。
サーバに5台クライアントが接続されるとゲームが始まります。

./client &
./client &
./client &
./client &
./client &

この実行にはオプションがあるのですがとりあえずはなにもつけなくても動きます。

実行画面

これで無事に実行できれば下のようなグラフが伸びていくところが見れると思います。 

トランプが表示され、対戦内容を見る画面に切り替えるには横(下?)のコントローラで操作できます。この画像だと右上にある見切れているやつです。白い箱が四つ並んでいるだけで一見コントローラには見えません。使い方は公式のドキュメントのどこかに書いてあると思うのですが、見つかりませんでした。これで試合速度や表示形式を変更できます。