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(); }
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); }
/** * 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(); }
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(); }