ゲームソフトウェアの使いかた

必要なソフトウェア

Extracting Files from the Archive

ソフトウェアは tar 形式を gzip で圧縮し た samurai2013.tgz という名前のファイルになっています。 最初にまずこれを解凍する必要があります。Unix 類似のシステムで は gunzip, Microsoft Windows では 7-zip, lhaplus など、Macintosh では Stuffit, Unarchiver などが使えます。

解凍したディレクトリは以下の構造になるはずです。

./translator
Gunbai Script から C++ へのコンパイラ。
./runtime
トーナメントの実行時システム。
./runtime/players
競技者のスクリプトを置く場所。スクリプトのサンプルもあり ます。
./visualizer
ゲームのビジュアライザ。Java のアーカイ ブ SamurAI_2013.jar があり、ビジュアライザを動か すには普通これだけで十分です。
./visualizer/src
ビジュアライザのソースファイル。システムを使うだけならこ れは不要です。
./documents
ソフトウェアに関するドキュメント。

ゲームシステムの構築

Gunbai Script から C++ へのコンパイラと競技者のスクリプトを組み 込んだ実行時システムからなるゲームのシステムは、以下のステップ で構築できます。

  1. ディレクトリ ./runtime/players に競技者のスクリ プトを置きます。./runtime/players/greedy.gb にサン プルがあります。
  2. 競技参加チーム名とスクリプトのファイル名の表を作 り ./runtime/players/teamlist に置きます。 ./runtime/players/teamlist.example にサンプルがあ ります。
  3. トップレベルで make を実行すると、トランスレー タと実行時システムを自動的に構築します。サンプルでテストするには トップレベルで make example を実行すれば、サンプ ルのチームリストをファイル teamlist にコピーしま すので、その後でシステムを構築してください。

ゲームシステムの実行

システムの構築を終えたら、./runtime./samuraiPlay を適切なコマンド引数で実行します。

コマンド引数はすべて必須で、以下の順に与えます。

ラウンド数
トーナメントのラウンド数
ターン数
各ゲームのターン数
コスト上限
各ターンでの競技スクリプトの使えるコストの上限
盤の最小サイズ
ゲーム盤の縦横の最小値(奇数)
盤の最大サイズ
ゲーム盤の縦横の最大値(奇数)
乱数の種
ゲームに用いる乱数の種
ゲートは自動的にランダムに配置します。ゲーム数はチーム数から自 動的に決まります。

samuraiPlay は標準出力にゲームのログを書き出します。 ですからコマンドラインは普通以下のような形式になります。

./samuraiPlay 1 100 10000 29 23 >test.samuraiLog
ビジュアライザの入力はファイル名拡張子 .samuraiLog を 標準にしていますので、これを使うのがよいでしょう。ログのフォー マットについては ./documents/logformat.txt に記述があ ります。

ゲームビジュアライザの実行

ビジュアライザの JAR ファイル は ./visualizer/SamurAI_2013.jar にあります。起動法は システムに依存しますが、多くのシステムではファイル名をダブルク リックしたり、コマンドプロンプトに

java -jar SamurAI_2013.jar
のように入力すれば起動できるでしょう。