Exemplo n.º 1
0
 public void dodgeOnScanned(ScannedRobotEvent e) {
   setTurnRight(e.getBearing() + 90 - 30 * movementDirection);
   double changeInEnergy = previousEnergy - e.getEnergy();
   if (changeInEnergy > 0 && changeInEnergy <= 3) {
     movementDirection = -movementDirection;
     setAhead((e.getDistance() / 4 + 25) * movementDirection);
   }
   gunDirection = -gunDirection;
   setTurnGunRight(99999 * gunDirection);
   setFire(2);
   previousEnergy = e.getEnergy();
   execute();
 }
Exemplo n.º 2
0
 public void onScannedRobot(ScannedRobotEvent event) {
   a = Utils.normalRelativeAngle(getHeadingRadians() + event.getBearingRadians());
   e = event.getEnergy();
   d = event.getDistance();
   x = d * Math.sin(a);
   y = d * Math.cos(a);
   h = event.getHeadingRadians();
   dh = -Utils.normalRelativeAngle(getGunHeadingRadians() - a);
 }
Exemplo n.º 3
0
  /**
   * onScannedRobot: What to do when you see another robot<br>
   * The action performed here depends on the current_mode variable.<br>
   * Currently if the robot that was scanned is weak and helpless our robot takes a shot at it,<br>
   * Otherwise only fire depending on the distance the other robot was away from our robot.
   *
   * @param e , A ScannedRobotEvent of the robot that was scanned.
   */
  public void onScannedRobot(ScannedRobotEvent e) {
    timeRobotLastSeen = getTime();
    // if the robot is performing a 360 sweep only fire if it sees a
    // disabled/weak robot
    if ((current_mode == SWEEP_MODE) && (e.getEnergy() < 1)) {
      fire(1);
    } else fireBasedOnDistance(e.getDistance(), e.getVelocity());

    if (e.getDistance() <= INNER_PERIMETER) current_mode = CLOSE_COMBAT_MODE;
    else current_mode = STANDARD_COMBAT_MODE;

    printMode();
  }
Exemplo n.º 4
0
    public void onScannedRobot(ScannedRobotEvent event) {
      scannedDistance = (int) (event.getDistance() + 0.5);
      scannedEnergy = Math.max(1, (int) (event.getEnergy() + 0.5));
      scannedAngle =
          (int)
              (Math.toDegrees(
                      Utils.normalAbsoluteAngle(peer.getBodyHeading() + event.getBearingRadians()))
                  + 0.5);
      scannedBearing = (int) (event.getBearing() + 0.5);
      scannedHeading = (int) (event.getHeading() + 0.5);
      scannedVelocity = (int) (event.getVelocity() + 0.5);

      JuniorRobot.this.onScannedRobot();
    }