最初のテスト

Java 1年ぶり〜

  /**
   * Tests whether my robot can avoid north walls.
   */
  public final void testNorthWallAvoidance() {
    final My me = new My();
    
    final double yStart = RobotPeer.HEIGHT / 2 + 1; // 1 pixel is margin.
    me.setY(yStart); // Close to north wall.
    
    me.setVelocity(Rules.MAX_VELOCITY);
    me.setHeading(0);
    
    me.run();
    
    assertTrue(Utils.isNear(yStart, me.getY())); // Do not move to north.
  }

まず、シンタックスハイライトが見難いので、はてダのスタイルを変えること決定。

あと、

  • RobotPeerとか、Rulesとかは、Robocodeであらかじめ定義されているクラス。結構便利な定数があって、助かる。詳しくはrobocode.jarを見ると良い。javadocではその全てを知ることは出来ないと思う。
  • 壁に近い、というのは、ロボットのサイズ+1pxelにしようかなと。隙間1pixel。どうかな。
  • 何やってるかというと、北の壁に近いところから、北に向かって全速力で移動を試みても、北方向には移動しないよと、そういうテスト。
    • setY, setVelocity, setHeading, run, getYが、作らなくてはいけないメソッド。

…はっ、Wallクラス出てこない。