Download it from: http://www.robocoderepository.com/BotDetail.jsp?id=1718
Poet 0.2 (codesize 61) source:
package pez.femto;
import robocode.*;
import java.awt.geom.Point2D;
// Poet, just for fun
// By Peter Strömberg, http://robowiki.dyndns.org/?PEZ
public class Poet extends AdvancedRobot {
public void run() {
turnGunRightRadians(Double.POSITIVE_INFINITY);
}
public void onScannedRobot(ScannedRobotEvent e) {
setTurnRight(Point2D.Double.distance(400, 300, getX(), getY()) - 150);
setAhead(100);
setFire(3);
setTurnGunLeftRadians(getGunTurnRemainingRadians());
}
}
Download link: http://www.robocoderepository.com/BotDetail.jsp?id=1730
Source:
package pez.femto;
import robocode.*;
// HaikuPoet, Poetry
// By Peter Strömberg, http://robowiki.dyndns.org/?PEZ
public class HaikuPoet extends AdvancedRobot {
public void run() {
setTurnGunRightRadians(Double.POSITIVE_INFINITY);
}
public void onScannedRobot(ScannedRobotEvent e) {
setTurnRight(e.getBearing() + 80);
setAhead((setFireBullet(2.1) == null ? 100 : 0) * Math.sin(getTime() / 12));
setTurnGunLeftRadians(getGunTurnRemainingRadians());
}
}
Download: http://www.robocoderepository.com/BotDetail.jsp?id=1731
Source:
package pez.femto;
import robocode.*;
// WallsPoet, is this Graffiti?
// By Peter Strömberg, http://robowiki.dyndns.org/?PEZ
public class WallsPoet extends Robot {
public void run() {
turnLeft(getHeading() % 90);
turnGunRight(Double.POSITIVE_INFINITY);
}
public void onScannedRobot(ScannedRobotEvent e) {
fire(3);
ahead(200);
}
public void onHitWall(HitWallEvent e) {
turnRight(90);
}
}
This is a quite strong 1-v-1 FemtoBot which has actually won the RobocodeLittleLeague 1-v-1 femto division a few times and also keeps the current high score there. Some times I update the below list:
Download: http://www.robocoderepository.com/BotDetail.jsp?id=1734
Source
package pez.femto;
import robocode.*;
// By Peter Strömberg, http://robowiki.dyndns.org/?PEZ
// Haiku wall avoidance
public class WallsPoetHaiku extends AdvancedRobot {
public void run() {
setTurnGunRight(Double.POSITIVE_INFINITY);
while (true) {
ahead(getBattleFieldHeight() - 100);
setTurnRight(90 - getHeading() % 90);
}
}
public void onScannedRobot(ScannedRobotEvent e) {
fire(e.getEnergy() / 4);
}
}
Download: http://www.robocoderepository.com/BotDetail.jsp?id=1748
Source:
package pez.femto;
import robocode.*;
// By Peter Strömberg, http://robowiki.dyndns.org/?PEZ
// Blind and strong
public class DroidPoet extends Robot implements Droid {
public void run() {
while (true) {
ahead(Math.random() * 600);
turnGunRight(Math.toDegrees(Math.atan2(getBattleFieldWidth() / 2 - getX(),
getBattleFieldHeight() / 2 - getY())) - getGunHeading());
fire(1.2);
}
}
public void onHitWall(HitWallEvent e) {
turnRight(90 - getHeading() % 90);
}
}
package pez.femto;
import robocode.*;
// WallsPoetAS, for the http://robowiki.net/?SpinBotChallenge
// By Peter Stromberg, http://robowiki.net/?PEZ
public class WallsPoetAS extends Robot {
public void run() {
turnGunLeft(Double.POSITIVE_INFINITY);
}
public void onScannedRobot(ScannedRobotEvent e) {
fire(3);
ahead(150);
}
public void onHitWall(HitWallEvent e) {
turnLeft(getHeading() % 90 - 90);
}
}