top / index / prev / next / target / source
日記形式でつづる いがぴょんコラム ウェブページです。
IBM alphaWorksのJavaプログラム対戦システム Robocode(ロボコード)を試してみました!
【フラッシュ】IBMがJava戦闘ロボットコンテスト開催 の記事に触発されました。Java言語でプログラミング対戦できるんならすごいなあって思い早速試してみました。J2SE 1.4 SDK が入っていると 比較的安易に試すことが出来ます。しかもちょっとしたロボット統合開発環境が付いてきます (笑)
JDKは、J2SE 1.4.0がお勧めだそうです。それ以下のバージョンでも動くとも書いてました。で、私の環境は Windows XP + J2SE 1.4 だったのですが、かなり簡単にインストール&実行できました。ぱっと使った感じ、これは面白いです。
2002.05.16追記 後で気づいたのですが、IBMの手によるRobocodeの解説書がありました! そちらの記事の方は良くできています。
IBM developerWorks: 闘え、Robocode (ロボコード) ! http://www-6.ibm.com/jp/developerworks/java/020329/j_j-robocode.html
【インストール】
をダウンロードして、任意のディレクトリに格納し、その後 コマンドプロンプトを起動してそのディレクトリで下記のコマンドを実行します。
java -jar robocode-setup.jar
これでGUIベースのインストーラーが起動します。
License Agreement を読んで 『Accept』ボタンを押す
次に導入先ディレクトリを指定し、『はい』を押す
スタートメニューにショートカットを追加で 『はい』を押す
と、インストールは完了です。
【実行】デスクトップ上にできた Robocodeアイコンをダブルクリックすると GUIベースで画面が起動します。『Battle』メニューから 『New』 を選択し、Robotsから 幾つかをAdd (例えば、sample.TrackFireと sample.Crazyを2つ)して 『Start Battle』を押すと GUIで ロボコード同士の対戦が開始されます。なるほどソースコード通りに動作しているんだなあという感じです。
【自分のロボコードを作成する】 RobotメニューからEditorを選択して起動します。『Robot Editor』プログラムの Fileメニュー → New → Robot で、新規に自分のロボコードを作成することができます。指示通り、とりあえず ロボット名に MyFirstRobotを入力、パッケージ名に tiなどイニシャル名を入力すると、新規ロボットが作成できます。続いて、Compilerメニューから Compileを押すと コンパイルが開始されます。コードを保存していなかったら、ここで保存の旨の『はい』ボタンを押します。 Compiling... Compiled successfully.
と出たらコンパイル完了です。『Robot Editor』を閉じます。
そうすると、『Battle』メニューから 『New』を選択した際に、自分が作成したロボットが現れるようになります。sample.TrackFireと対戦させてみましょう。なるほど、プログラム通りに動いています。
Robocode APIを使うと、いろいろ複雑な判断をプログラミング出来るようです。また原則コールバック形式のプログラミングになるので、単にプログラミングとしても面白いです。
【リーグで強いロボコードを試してみる】その後は リーグ上でランクの高いロボコードと自作ロボコードとを対戦させていくとより強いロボコードを開発することが出来るようです。でも まだ私はぜんぜんコーディングしていないですけれど、まずは強いロボコードをダウンロードしてみます。
トップ5のRobocodeを とりあえずダウンロードしてみました。jar形式でダウンロード後、RobotメニューからImport downloaded robotでJARファイルを選択するとインポートできます。そしたら早速対戦できます。おおっ、このRobocodeっていうシステム、良くできていますね。、、、ちなみに リーグで強いRobocodeのソースコードを見てみましたが、そのロジックを見ても何がなにやらさっぱり理解不能です (苦笑) 強いRobocodeを作るのは難しそうですねぇ。
ということで マイクロソフトのテラリウムを見て憧れていた(嫉妬していた)Javaプログラマーの方には、IBM Robocodeはお勧めです。Java言語で対戦プログラムを実装できます。