ADKでの開発 - AIT-Rescue/CommunicationLibrary GitHub Wiki
ここでは、ADKでの開発や、コンパイルについて説明します。
ADKでのエージェントのイメージ
エージェントは、Tactics(戦術)マニュアル(以下、Tcatics)を持ち、それにしたがって行動するイメージです。 ADKでは、各エージェントのTacticsを開発することで、エージェントを行動させます。
ADKの構造
ADKの構造は、以下のようになっています。 ├── build.gradle ├── config │ └── adk.cfg ├── library │ ├── rescue │ │ ├── core │ │ └── util │ └── util ├── src │ └── java │ └── sample └── tactics
- build.gradle:ビルドスクリプトです。
- config/adk.cfg:ADKのコンフィグです。書き換えることで、接続するサーバや、使用するチームを変更できます。
- library:開発や動作に必要なライブラリが入っています。
- src/java:ソースコードを入れるディレクトリです。パッケージに合わせて、ディレクトリを作る必要があります。
- tactics:コンパイルによって生成されたJarファイルが入ります。
Tacticsの開発
Tacticsにはそれぞれ、AmbulanceTactics、FireBrigadeTactics、PoliceTacticsがあります。
各Tacticsのパッケージは、comlib.adk.team.tacticsとなっており、abstarctクラスです。
Tacticsには、postConnect、registerEvent、thinkの実装を行います。
Teamの開発
Tacticsの開発が終わったら、Teamクラスの開発を行います。
Teamクラスは、実行時に必要なチーム名の取得や、各Tacticsの生成を担当します。
Teamのパッケージは、comlib.adk.teamとなっており、interfaceです。
build.gradleの記述
最後に、ビルドスクリプトであるbuild.gradleの編集を行います。
まず、6行目のString teamName = nameです。
ここにはチーム名を記述します。コンパイル時に、Jarのファイル名になります。デフォルトでは、プロジェクトのディレクトリ名になります。
次に、9行目のString teamClassName = 'sample.SampleTeam'です。これは、Jarを読み込むための記述です。Teamを実装したクラスを、パッケージを含めて記述してください。
コンパイル
ターミナルから、以下のコマンドを実行します。
- Linuxの場合:
./gradlew build - windowsの場合:
gradlew build
実行結果がBUILD SUCCESSFULならば、ソースコードのコンパイルが成功しています。