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ならば、ソースコードのコンパイルが成功しています。