最初のテスト
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クラス出てこない。