Google Classroomで出席

Robocode

インストール

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

Robocode 起動

$ cd
$ sh robocode/robocode.sh

Robocodeソース

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

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

screenshot_03.png

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

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

~/robocode/robots/e17/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 e17;
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回レポート

  • ETロボコンサンプルコード課題 ETロボコンのサンプルコードの概略を説明しなさい.(詳細でなく,概略でよい) 継承したクラス,メソッド,ロボットの戦略の特徴など. 説明するのは,以下のファイル.
  1. Corners.java
  2. Crazy.java
  3. Fire.java
  4. Interactive.java
  5. Interactive_v2.java
  6. MyFirstJuniorRobot.java
  7. MyFirstRobot.java
  8. PaintingRobot.java
  9. RamFire.java
  10. SittingDuck.java
  11. SpinBot.java
  12. Target.java
  13. TrackFire.java
  14. Tracker.java
  15. VelociRobot.java
  16. Walls.java


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

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-12-18 (月) 14:00:51 (639d)