Robocode

インストール

  • Robocodeのホームページ http://robocode.sourceforge.net/ より,最新版(robocode-1.7.4.2-setup.jar)をダウンロードする.
  • ダブルクリックでインストールを行う.
    /Users/ユーザ名/robocode
    を作るかと聞いてくるので,Yesで作成する.

Robocode 起動

$ cd
$ sh robocode/robocode.sh

Robocodeソース

  • Robocode [Robot]メニュー[Editor]より,Robot Editorを開く.
  • [File]メニュー[New]>[Robot]で,新しいロボットファイルを開く.
    screenshot_02.png

で,新しいロボット(クラス)名を入れる.ここでは,MyFirstRobot つぎに

screenshot_03.png

により,パッケージ名を入れる.ここでは,e12をいれる.(小文字を使う)

つぎのようなソースファイルがデフォルトで開かれる.

~/robocode/robots/e12/MyFirstRobot.java

で保存される.

Expand allFold all
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 
 
-
!
-
!
-
|
!
 
-
-
|
!
-
-
!
-
|
!
-
!
-
-
-
!
|
|
|
!
!
|
-
|
!
-
-
!
!
|
-
|
!
-
-
!
!
|
-
|
!
-
-
!
!
!
package e12;
import robocode.*;
//import java.awt.Color;
 
// API help : http://robocode.sourceforge.net/docs/robocode/robocode/Robot.html
 
/**
 * MyFirstRobot - a robot by (your name here)
 */
public class MyFirstRobot extends Robot
{
    /**
     * run: MyFirstRobot's default behavior
     */
    public void run() {
        // Initialization of the robot should be put here
 
        // After trying out your robot, try uncommenting the import at the top,
        // and the next line:
 
        // setColors(Color.red,Color.blue,Color.green); // body,gun,radar
 
        // Robot main loop
        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) {
        // Replace the next line with any behavior you would like
        fire(1);
    }
 
    /**
     * onHitByBullet: What to do when you're hit by a bullet
     */
    public void onHitByBullet(HitByBulletEvent e) {
        // Replace the next line with any behavior you would like
        back(10);
    }
    
    /**
     * onHitWall: What to do when you hit a wall
     */
    public void onHitWall(HitWallEvent e) {
        // Replace the next line with any behavior you would like
        back(20);
    }    
}
                               

ソースを読もう

  • Robocode API
    ~/robocode/javadoc/index.html
  • robotプログラムのありか.パッケージ名のディレクトリ毎に配置されています.
    ~/robocode/robots/
    • サンプルプログラムは,
      ~/robocode/robots/sample/

第1回レポート

  • 課題: ロボコードに付属している以下の11種のサンプルプログラムが,
    ~/robocode/robots/sample/
    以下にあります.
  1. 各サンプルプログラムソースにコメントをつけプログラムをくわしく説明しなさい.
    Corners.java
    Crazy.java
    Fire.java
    Interactive.java
    Interactive_v2.java 
    MyFirstJuniorRobot.java
    PaintingRobot.java
    RamFire.java
    SittingDuck.java
    SpinBot.java
    Target.java
    TrackFire.java
    Tracker.java
    VelociRobot.java
    Walls.java
  1. 各ロボットを対戦させ,各ロボットの特徴を調査しなさい.

締め切り

  • 11月12日正午

提出先

  • 近日アナウンスします


添付ファイル: filescreenshot_02.png 110件 [詳細] filescreenshot_03.png 103件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-06-20 (木) 14:45:23 (2342d)