New Years

From Robowiki
Revision as of 15:41, 31 December 2008 by Nat (talk | contribs)
Jump to navigation Jump to search

I guess it's also time to start this page too :) http://www.timeanddate.com/counters/multicountdown.html has countdown to the New Year (In one place it's about 5 hours left :O, where i live is about 27 hours) Also, the Chronicle of 2008 --Starrynte 04:24, 31 December 2008 (UTC)

OK, many place (but not my place) had enter 2009. 10 hours left (UTC), use it at your own risk! (I think I will write a last nano-bot of this year :)) This page is hard to find (if you don't look at Recent changes link :)). -- Nat 14:05, 31 December 2008 (UTC)

Let's celebrated the last robot of this year: (please don't stole my position!, I know I can't post robot on 23:59:59)

package nat.nano;

import robocode.AdvancedRobot;
import robocode.RobotDeathEvent;
import robocode.ScannedRobotEvent;
import robocode.util.Utils;

public class NewYear09 extends AdvancedRobot {
	static double xForce;
	static double yForce;
	static String target;

	public void run() {
		setAdjustGunForRobotTurn(true);
		turnRadarRightRadians(Double.POSITIVE_INFINITY);
	}

	public void onScannedRobot(ScannedRobotEvent e) {
		double absoluteBearing, distance;
		xForce = xForce
				* .9
				- Math.sin((absoluteBearing = e.getBearingRadians()
						+ getHeadingRadians())) / (distance = e.getDistance());
		yForce = yForce * .9 - Math.cos(absoluteBearing) / distance;
		setTurnRightRadians(Utils.normalRelativeAngle(Math.atan2(xForce + 1
				/ getX() - 1 / (getBattleFieldWidth() - getX()), yForce + 1
				/ getY() - 1 / (getBattleFieldHeight() - getY()))
				- getHeadingRadians()));
		setAhead(Double.POSITIVE_INFINITY);
		setMaxVelocity(420 / getTurnRemaining());

		if ((target == null || target.equals(e.getName()) && getGunHeat() < 1)) {
			target = e.getName();
			setTurnRadarLeftRadians(getRadarTurnRemaining());

			setTurnGunRightRadians(Utils.normalRelativeAngle(absoluteBearing
					- getGunHeadingRadians()
					+ Math.asin(e.getVelocity()
							* Math.sin(e.getHeadingRadians() - absoluteBearing)
							/ 12.5)));

			if (setFireBullet(2.5D) != null)
				target = null;
		}
	}

	public void onRobotDeath(RobotDeathEvent e) {
		target = null;
	}
}

(RoboWiki is down so I can't enter RoboRumble)

This robot move Anti-Gravity Movement (the DustBunny One) and fire LinearTargeting. The enemy choosing is one from SwodniwMR.

--Nat 14:41, 31 December 2008 (UTC)