ゲームソフトウェアの使いかた
必要なソフトウェア
- 解凍ソフトウェア で .tgz フォーマットのファイルを解凍できるもの。
- C++ コンパイラ, make, C++ 標準ライブラリ。
- Java 実行時システム。Java コンパイラは不要です。
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++ へのコンパイラと競技者のスクリプトを組み 込んだ実行時システムからなるゲームのシステムは、以下のステップ で構築できます。
- ディレクトリ ./runtime/players に競技者のスクリ プトを置きます。./runtime/players/greedy.gb にサン プルがあります。
- 競技参加チーム名とスクリプトのファイル名の表を作 り ./runtime/players/teamlist に置きます。 ./runtime/players/teamlist.example にサンプルがあ ります。
- トップレベルで 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のように入力すれば起動できるでしょう。