コード例 #1
0
ファイル: TestPosition.java プロジェクト: jaros/robocode
  @Override
  public void onRoundStarted(final RoundStartedEvent event) {
    super.onRoundStarted(event);
    if (event.getRound() == 0) {
      IRobotSnapshot crazy = event.getStartSnapshot().getRobots()[0];
      IRobotSnapshot target = event.getStartSnapshot().getRobots()[1];

      Assert.assertNear(566.2968069, crazy.getX());
      Assert.assertNear(165.0789361, crazy.getY());
      Assert.assertNear(436.3146436, target.getX());
      Assert.assertNear(350.7235444, target.getY());
    }
  }
コード例 #2
0
ファイル: TestPosition.java プロジェクト: jaros/robocode
  @Override
  public void onTurnEnded(TurnEndedEvent event) {
    super.onTurnEnded(event);
    lastTurn = event.getTurnSnapshot().getTurn();

    // System.out.println(event.getTurnSnapshot().getTurn());
    IRobotSnapshot crazy = event.getTurnSnapshot().getRobots()[0];
    IRobotSnapshot target = event.getTurnSnapshot().getRobots()[1];

    if (lastTurn == 1) {
      Assert.assertNear(565.4354411, crazy.getX());
      Assert.assertNear(164.5709508, crazy.getY());
      Assert.assertNear(436.3146436, target.getX());
      Assert.assertNear(350.7235444, target.getY());
    }

    if (lastTurn == 1700) {
      Assert.assertNear(38.69810137, crazy.getX());
      Assert.assertNear(214.9945902, crazy.getY());
      Assert.assertNear(339.9178023, target.getX());
      Assert.assertNear(455.7698379, target.getY());
    }
  }
コード例 #3
0
ファイル: TestRateControl.java プロジェクト: andy521/robocode
  @Override
  public void onTurnEnded(TurnEndedEvent event) {
    super.onTurnEnded(event);
    turnNumber = event.getTurnSnapshot().getTurn();

    IRobotSnapshot rate = event.getTurnSnapshot().getRobots()[0];

    // Test turnRate
    if (turnNumber == 10) {
      Assert.assertNear(Math.PI / 4, normalRelativeAngle(rate.getBodyHeading() - originalHeading));
    }
    if (turnNumber == 20) {
      Assert.assertNear(-Math.PI / 4, normalRelativeAngle(rate.getBodyHeading() - originalHeading));
    }
    if (turnNumber == 25) {
      // Test that turnRate was set to zero
      Assert.assertNear(-Math.PI / 4, normalRelativeAngle(rate.getBodyHeading() - originalHeading));

      // Test velocityRate
      double theta = rate.getBodyHeading();
      double deltaX = rate.getX() - originalX;
      double distanceTravelled = deltaX / Math.sin(theta);

      Assert.assertNear(9, distanceTravelled);
    }
    if (turnNumber == 35) {
      double theta = rate.getBodyHeading();
      double deltaX = rate.getX() - originalX;
      double distanceTravelled = deltaX / Math.sin(theta);

      Assert.assertNear(-35, distanceTravelled);
      originalGunHeading = rate.getGunHeading();
    }
    if (turnNumber == 45) {
      // Test that velocityRate was set to zero
      double theta = rate.getBodyHeading();
      double deltaX = rate.getX() - originalX;
      double distanceTravelled = deltaX / Math.sin(theta);

      Assert.assertNear(-47, distanceTravelled);

      // test gunRotationRate
      Assert.assertNear(
          Math.PI / 2, normalRelativeAngle(rate.getGunHeading() - originalGunHeading));
    }
    if (turnNumber == 55) {
      Assert.assertNear(
          Math.PI / 4, normalRelativeAngle(rate.getGunHeading() - originalGunHeading));
      originalRadarHeading = rate.getRadarHeading();
    }

    if (turnNumber == 65) {
      // test that gunRotationRate was set to zero
      Assert.assertNear(
          Math.PI / 4, normalRelativeAngle(rate.getGunHeading() - originalGunHeading));

      // test radarRotationRate
      Assert.assertNear(
          Math.PI / 2, normalRelativeAngle(rate.getRadarHeading() - originalRadarHeading));
    }
    if (turnNumber == 75) {
      Assert.assertNear(
          Math.PI / 4, normalRelativeAngle(rate.getRadarHeading() - originalRadarHeading));
    }
    if (turnNumber == 76) {
      // test that radarRotationRate was set to zero
      Assert.assertNear(
          Math.PI / 4, normalRelativeAngle(rate.getRadarHeading() - originalRadarHeading));
    }
  }