トップ 差分 一覧 Farm ソース 検索 ヘルプ PDF RSS ログイン

robocode040909

第1回目(04/09/09)

実習環境を作る

  1. 共有フォルダから次の3つのファイルを自分のPCにコピーする
    1. j2sdk-1_4_2_05-windows-i586-p.exe
    2. robocode-setup.jar
    3. robocode_api.zip
  2. まず、Javaの開発環境をインストールする。
  3. 次にロボコードの環境をインストールする
  4. 最後にAPI文書を適当なフォルダにコピーする

robocodeの起動

デスクトップ上のアイコン

をダブルクリックする。

しばらくすると次のようなウィンドウが表示され、デモが始まる。

 ロボットを戦わせる

いくつかのサンプルが入っているのですぐにロボットを戦わせることができます。

  1. BattleメニューからNewを選択する。
  2. ロボットのリストから対戦させるロボットを選択する
  3. ダイアログ下部にあるStart Battleボタンをクリックする

 ロボットを作る

専用エディタを使ってロボットを作れる。

  1. RobotメニューからEditorを選択し、エディタを開く。
  2. エディタFileメニューからNewを選択し、Robotを選択する。
    1. ロボット名を入力する(大文字で始まること)
    2. パッケージ名を入力する(すべて小文字)
  3. エディタが開き、雛形が表示される
  4. ロボットの動作をプログラミングする
  5. ロボットのプログラムを保存する
  6. ロボットのプログラムをコンパイルする

入力したロボットのコードはパッケージ名のフォルダにロボット名で保存される。

 雛形のコード

ロボット名BeBe?00、パッケージ名sakabe

package sakabe;
import robocode.*;
//import java.awt.Color;

/**
 * BeBe00 - a robot by (your name here)
*/
public class BeBe00 extends Robot
{
 	/**
	 * run: BeBe00's default behavior
	 */
	public void run() {
		// After trying out your robot, try uncommenting the import at the top,
		// and the next line:
		// setColors(Color.white,Color.blue,Color.green);
		while(true) {
			// Replace the next 4 lines with any behavior you would like
			ahead(100);
			turnGunRight(360);
			back(100);
			turnGunRight(360);
		}
	}

	/**
	 * onScannedRobot: What to do when you see another robot
	 */
	public void onScannedRobot(ScannedRobotEvent e) {
		fire(1);
	}

	/**
	 * onHitByBullet: What to do when you're hit by a bullet
	 */
	public void onHitByBullet(HitByBulletEvent e) {
		turnLeft(90 - e.getBearing());
	}
	
}

このコードには次の3つの機能(メソッド)が定義されている。

通常時の動作(runメソッド)

通常はこの部分が実行されます。

  1. 100ピクセル前進 ahead(100);
  2. 砲台を右に1回転 turnGunRight?(360);
  3. 100ピクセル後退 back(100);
  4. 砲台を右に1回転 turnGunRight?(360);

レーダで敵を捕らえたとき(onScannedRobot?イベント)

敵に向かって砲弾を発射 fire(1);fireメソッドの引数は0.1から3の間で指定します。

砲弾が自分に当たったとき(onHitByBullet?イベント)

ロボットの向きを砲弾の方向より90度左へ変えます。

turnLeft(90 - e.getBearing());

 演習

自分のロボットを強化し、サンプルロボットよりも強くしよう。

ロボットの状態の取得、動作の設定はコピーしたAPIフォルダのindex.htmlを参照すること。

[プログラミング特別講座3]