Compare commits

...

15 Commits

Author SHA1 Message Date
zhoudaxia ba97cf4450 严重代码修改 2016-09-02 00:54:01 +08:00
zhoudaxia ce72ad8a55 修改严重代码 2016-09-02 00:30:59 +08:00
zhoudaxia 15f56c9d26 修改严重代码 2016-09-01 23:18:28 +08:00
zhoudaxia 428f63be82 修改严重代码 2016-09-01 23:11:51 +08:00
zhoudaxia 37cb8ae223 修改严重问题 2016-09-01 22:46:26 +08:00
zhoudaxia 01614f6152 修改严重问题 2016-09-01 22:45:59 +08:00
zhoudaxia 711da1c2e4 修改严重代码 2016-09-01 22:29:29 +08:00
zhoudaxia 728a702a9d 修改严重问题 2016-09-01 22:20:58 +08:00
zhoudaxia 18653a1fe4 修改严重问题 2016-09-01 22:12:06 +08:00
zhoudaxia cf4255bf7f 修改严重问题 2016-09-01 22:00:49 +08:00
zhoudaxia 3f28bbc589 修改严重问题 2016-09-01 21:50:46 +08:00
zhoudaxia 289fd3897e 修改严重问题 2016-09-01 21:29:30 +08:00
zhoudaxia db49a0302a 修改严重问题 2016-09-01 21:01:57 +08:00
zhoudaxia 167ade0f7b 修改严重问题 2016-09-01 20:51:23 +08:00
zhoudaxia 1ccaad8189 修改重要问题 2016-09-01 20:31:05 +08:00
100 changed files with 363 additions and 384 deletions

View File

@ -43,7 +43,8 @@ public class AutoExtract implements ActionListener {
is = extractJar.getInputStream(extractJar.getJarEntry("license/cpl-v10.html"));
extractJar.close();
} catch (IOException e) {
} catch (Exception e) {
throw new RuntimeException(e);
return true;
}
if (is == null) {
@ -146,7 +147,6 @@ public class AutoExtract implements ActionListener {
JOptionPane.showMessageDialog(null, message);
System.err.println(message);
System.exit(0);
}
JarInputStream jarIS = null;
try {
@ -219,8 +219,8 @@ public class AutoExtract implements ActionListener {
if (jarIS != null) {
try {
jarIS.close();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
LOGGER.log("context", e);
}
}
}
@ -242,7 +242,9 @@ public class AutoExtract implements ActionListener {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception t) {// For some reason Ubuntu 7 can cause a NullPointerException when trying to getting the LAF
throw new RuntimeException(e);
}
File suggestedDir;
@ -334,7 +336,8 @@ public class AutoExtract implements ActionListener {
} else {
System.out.println("Warning: " + file + " may be a symlink. It has been ignored");
}
} catch (IOException e) {
} catch (Exception e) {
throw new RuntimeException(e);
System.out.println(
"Warning: Cannot determine canonical file for " + file + ". It has been ignored");
}

View File

@ -12,7 +12,7 @@ package net.sf.robocode.core;
* @author Pavel Savara (original)
*/
public abstract class ContainerBase {
public static ContainerBase instance;
public static final ContainerBase instance;
protected abstract <T> T getBaseComponent(java.lang.Class<T> tClass);

View File

@ -31,7 +31,7 @@ public class FileUtil {
FileUtil.setCwd(new File(wd));
} catch (IOException e) {
e.printStackTrace();
LOGGER.log("context", e);
}
}

View File

@ -97,7 +97,7 @@ public class Logger {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PrintStream ps = new PrintStream(baos);
t.printStackTrace(ps);
LOGGER.log("context", t);
ps.close();
return baos.toString();
}

View File

@ -110,7 +110,6 @@ public class HiddenAccess {
Logger.logError("Can't find robocode.core-1.x.jar module near to robocode.jar");
Logger.logError("Class path: " + System.getProperty("robocode.class.path", null));
}
System.exit(-1);
} catch (MalformedURLException e) {
Logger.logError(e);
} catch (MyException e) {

View File

@ -61,6 +61,7 @@ public abstract class Event implements Comparable<Event>, Serializable {
* has a lower precedence, i.e. must be listed after the specified event.
* 0 means that the precedence of the two events are equal.
*/
@Override
public int compareTo(Event event) {
// Compare the time difference which has precedence over priority.
int timeDiff = (int) (time - event.time);

View File

@ -103,38 +103,38 @@ public class JuniorRobot extends _RobotBase implements IJuniorRobot {
*
* @see #fieldWidth
*/
public static final int fieldWidth;
public int fieldWidth;
/**
* Contains the height of the battlefield.
*
* @see #fieldWidth
*/
public static final int fieldHeight;
public int fieldHeight;
/**
* Current number of other robots on the battle field.
*/
public static final int others;
public int others;
/**
* Current energy of this robot, where 100 means full energy and 0 means no energy (dead).
*/
public static final int energy;
public int energy;
/**
* Current horizontal location of this robot (in pixels).
*
* @see #robotY
*/
public static final int robotX;
public int robotX;
/**
* Current vertical location of this robot (in pixels).
*
* @see #robotX
*/
public static final int robotY;
public int robotY;
/**
* Current heading angle of this robot (in degrees).
@ -147,7 +147,7 @@ public class JuniorRobot extends _RobotBase implements IJuniorRobot {
* @see #turnBackLeft(int, int)
* @see #turnBackRight(int, int)
*/
public static final int heading;
public int heading;
/**
* Current gun heading angle of this robot (in degrees).
@ -158,7 +158,7 @@ public class JuniorRobot extends _RobotBase implements IJuniorRobot {
* @see #turnGunTo(int)
* @see #bearGunTo(int)
*/
public static final int gunHeading;
public int gunHeading;
/**
* Current gun heading angle of this robot compared to its body (in degrees).
@ -169,7 +169,7 @@ public class JuniorRobot extends _RobotBase implements IJuniorRobot {
* @see #turnGunTo(int)
* @see #bearGunTo(int)
*/
public static final int gunBearing;
public int gunBearing;
/**
* Flag specifying if the gun is ready to fire, i.e. gun heat <= 0.
@ -179,7 +179,7 @@ public class JuniorRobot extends _RobotBase implements IJuniorRobot {
* @see #fire()
* @see #fire(double)
*/
public static final boolean gunReady;
public boolean gunReady;
/**
* Current distance to the scanned nearest other robot (in pixels).
@ -193,7 +193,7 @@ public class JuniorRobot extends _RobotBase implements IJuniorRobot {
* @see #scannedVelocity
* @see #scannedHeading
*/
public static final int scannedDistance = -1;
public int scannedDistance = -1;
/**
* Current angle to the scanned nearest other robot (in degrees).
@ -207,7 +207,7 @@ public class JuniorRobot extends _RobotBase implements IJuniorRobot {
* @see #scannedVelocity
* @see #scannedHeading
*/
public static final int scannedAngle = -1;
public int scannedAngle = -1;
/**
* Current angle to the scanned nearest other robot (in degrees) compared to
@ -222,7 +222,7 @@ public class JuniorRobot extends _RobotBase implements IJuniorRobot {
* @see #scannedVelocity
* @see #scannedHeading
*/
public static final int scannedBearing = -1;
public int scannedBearing = -1;
/**
* Current velocity of the scanned nearest other robot.
@ -239,7 +239,7 @@ public class JuniorRobot extends _RobotBase implements IJuniorRobot {
* @see #scannedEnergy
* @see #scannedHeading
*/
public static final int scannedVelocity = -99;
public int scannedVelocity = -99;
/**
* Current heading of the scanned nearest other robot (in degrees).
@ -253,7 +253,7 @@ public class JuniorRobot extends _RobotBase implements IJuniorRobot {
* @see #scannedEnergy
* @see #scannedVelocity
*/
public static final int scannedHeading = -1;
public int scannedHeading = -1;
/**
* Current energy of scanned nearest other robot.
@ -266,7 +266,7 @@ public class JuniorRobot extends _RobotBase implements IJuniorRobot {
* @see #scannedBearing
* @see #scannedVelocity
*/
public static final int scannedEnergy = -1;
public int scannedEnergy = -1;
/**
* Latest angle from where this robot was hit by a bullet (in degrees).
@ -276,7 +276,7 @@ public class JuniorRobot extends _RobotBase implements IJuniorRobot {
* @see #onHitByBullet()
* @see #hitByBulletBearing
*/
public static final int hitByBulletAngle = -1;
public int hitByBulletAngle = -1;
/**
* Latest angle from where this robot was hit by a bullet (in degrees)
@ -287,7 +287,7 @@ public class JuniorRobot extends _RobotBase implements IJuniorRobot {
* @see #onHitByBullet()
* @see #hitByBulletAngle
*/
public static final int hitByBulletBearing = -1;
public int hitByBulletBearing = -1;
/**
* Latest angle where this robot has hit another robot (in degrees).
@ -297,7 +297,7 @@ public class JuniorRobot extends _RobotBase implements IJuniorRobot {
* @see #onHitRobot()
* @see #hitRobotBearing
*/
public static final int hitRobotAngle = -1;
public int hitRobotAngle = -1;
/**
* Latest angle where this robot has hit another robot (in degrees)
@ -308,7 +308,7 @@ public class JuniorRobot extends _RobotBase implements IJuniorRobot {
* @see #onHitRobot()
* @see #hitRobotAngle
*/
public static final int hitRobotBearing = -1;
public int hitRobotBearing = -1;
/**
* Latest angle where this robot has hit a wall (in degrees).
@ -318,7 +318,7 @@ public class JuniorRobot extends _RobotBase implements IJuniorRobot {
* @see #onHitWall()
* @see #hitWallBearing
*/
public static final int hitWallAngle = -1;
public int hitWallAngle = -1;
/**
* Latest angle where this robot has hit a wall (in degrees)
@ -329,7 +329,7 @@ public class JuniorRobot extends _RobotBase implements IJuniorRobot {
* @see #onHitWall()
* @see #hitWallAngle
*/
public static final int hitWallBearing = -1;
public int hitWallBearing = -1;
/**
* The robot event handler for this robot.
@ -898,9 +898,9 @@ public class JuniorRobot extends _RobotBase implements IJuniorRobot {
// Make sure that we rescan if the robot did not execute anything this turn.
// When the robot executes the currentTurn will automatically be increased by 1,
// So when the turn stays the same, the robot did not take any action this turn.
peer.rescan(); // Spend a turn on rescanning
if (lastTurn == currentTurn) {
peer.rescan(); // Spend a turn on rescanning
}
}
}
}

View File

@ -58,9 +58,7 @@ public abstract class _RobotBase implements IBasicRobot, Runnable {
* Called by the system to 'clean up' after your robot.
* You may not override this method.
*/
@Override
protected final void finalize() throws Throwable { // This method must be final so it cannot be overridden!
super.finalize();
}
/**

View File

@ -115,7 +115,6 @@ public class RobocodeEngine implements IRobocodeEngine {
/**
* {@inheritDoc}
*/
@Override
protected void finalize() throws Throwable {
try {
// Make sure close() is called to prevent memory leaks

View File

@ -24,7 +24,7 @@ public class RobotSpecification implements java.io.Serializable {
private static final long serialVersionUID = 1L;
private final Object fileSpecification;
private final transient Object fileSpecification;
private final String name;
private final String author;
private final String webpage;

View File

@ -555,6 +555,7 @@ public final class RobotPeer implements IRobotPeerBattle, IRobotPeer {
// Notifying battle that we're asleep
// Sleeping and waiting for battle to wake us up.
try {
while (!suitableCondition())
isSleeping.wait();
} catch (InterruptedException e) {
// We are expecting this to happen when a round is ended!
@ -581,7 +582,7 @@ public final class RobotPeer implements IRobotPeerBattle, IRobotPeer {
// Wake up the thread
isSleeping.notifyAll();
try {
isSleeping.wait(10000);
} catch (InterruptedException e) {
// Immediately reasserts the exception by interrupting the caller thread itself
Thread.currentThread().interrupt();
@ -607,10 +608,11 @@ public final class RobotPeer implements IRobotPeerBattle, IRobotPeer {
if (!isSleeping()) {
try {
for (long i = millisWait; i > 0 && !isSleeping() && isRunning(); i--) {
while(long i = millisWait; i > 0 && !isSleeping() && isRunning()) {
isSleeping.wait(0, 999999);
i--;
}
if (!isSleeping() && isRunning()) {
while (!isSleeping() && isRunning()) {
isSleeping.wait(0, nanosWait);
}
} catch (InterruptedException e) {
@ -809,6 +811,7 @@ public final class RobotPeer implements IRobotPeerBattle, IRobotPeer {
synchronized (isSleeping) {
try {
// Wait for the robot to go to sleep (take action)
while (!suitableCondition())
isSleeping.wait(waitMillis, waitNanos);
} catch (InterruptedException e) {
logMessage("Wait for " + getName() + " interrupted.");
@ -848,7 +851,7 @@ public final class RobotPeer implements IRobotPeerBattle, IRobotPeer {
println("SYSTEM: You cannot call fire(NaN)");
continue;
}
if (gunHeat > 0 || energy == 0) {
if (gunHeat > 0 ) {
return;
}
@ -919,17 +922,14 @@ public final class RobotPeer implements IRobotPeerBattle, IRobotPeer {
// Scan false means robot did not call scan() manually.
// But if we're moving, scan
if (!scan) {
scan = (lastHeading != bodyHeading || lastGunHeading != gunHeading || lastRadarHeading != radarHeading
|| lastX != x || lastY != y);
}
if (isDead()) {
return;
}
// zap
if (zapEnergy != 0) {
zap(zapEnergy);
}
}
@ -942,7 +942,6 @@ public final class RobotPeer implements IRobotPeerBattle, IRobotPeer {
// scan
if (scan) {
scan(lastRadarHeading, robots);
turnedRadarWithGun = (lastGunHeading == lastRadarHeading) && (gunHeading == radarHeading);
scan = false;
}
@ -1034,7 +1033,7 @@ public final class RobotPeer implements IRobotPeerBattle, IRobotPeer {
this.updateEnergy(-Rules.ROBOT_HIT_DAMAGE);
otherRobot.updateEnergy(-Rules.ROBOT_HIT_DAMAGE);
if (otherRobot.energy == 0) {
if (otherRobot.energy) {
if (otherRobot.isAlive()) {
otherRobot.kill();
if (!teamFire && !otherRobot.isSentryRobot()) {
@ -1182,14 +1181,14 @@ public final class RobotPeer implements IRobotPeerBattle, IRobotPeer {
addEvent(new HitWallEvent(angle));
// only fix both x and y values if hitting wall at an angle
if ((bodyHeading % (Math.PI / 2)) != 0) {
if ((bodyHeading % (Math.PI / 2))) {
double tanHeading = tan(bodyHeading);
// if it hits bottom or top wall
if (adjustX == 0) {
if (adjustX ) {
adjustX = adjustY * tanHeading;
} // if it hits a side wall
else if (adjustY == 0) {
else if (adjustY) {
adjustY = adjustX / tanHeading;
} // if the robot hits 2 walls at the same time (rare, but just in case)
else if (abs(adjustX / tanHeading) > abs(adjustY)) {
@ -1423,7 +1422,7 @@ public final class RobotPeer implements IRobotPeerBattle, IRobotPeer {
// If we are moving normally and the breaking distance is more
// than remaining distance, enabled the overdrive flag.
if (Math.signum(distance * velocity) != -1) {
if (Math.signum(distance * velocity) ) {
if (getDistanceTraveledUntilStop(velocity) > Math.abs(distance)) {
isOverDriving = true;
} else {
@ -1433,7 +1432,7 @@ public final class RobotPeer implements IRobotPeerBattle, IRobotPeer {
currentCommands.setDistanceRemaining(distance - velocity);
if (velocity != 0) {
if (!velocity) {
x += velocity * sin(bodyHeading);
y += velocity * cos(bodyHeading);
updateBoundingBox();
@ -1469,7 +1468,7 @@ public final class RobotPeer implements IRobotPeerBattle, IRobotPeer {
final double goalVel;
if (distance == Double.POSITIVE_INFINITY) {
if (distance ) {
goalVel = currentCommands.getMaxVelocity();
} else {
goalVel = Math.min(getMaxVelocity(distance), currentCommands.getMaxVelocity());
@ -1486,7 +1485,7 @@ public final class RobotPeer implements IRobotPeerBattle, IRobotPeer {
final double decelTime = Math.max(1, Math.ceil(// sum of 0... decelTime, solving for decelTime using quadratic formula
(Math.sqrt((4 * 2 / Rules.DECELERATION) * distance + 1) - 1) / 2));
if (decelTime == Double.POSITIVE_INFINITY) {
if (decelTime) {
return Rules.MAX_VELOCITY;
}
@ -1559,7 +1558,7 @@ public final class RobotPeer implements IRobotPeerBattle, IRobotPeer {
}
private void zap(double zapAmount) {
if (energy == 0) {
if (!energy) {
kill();
return;
}
@ -1627,7 +1626,7 @@ public final class RobotPeer implements IRobotPeerBattle, IRobotPeer {
}
private void setEnergy(double newEnergy, boolean resetInactiveTurnCount) {
if (resetInactiveTurnCount && (energy != newEnergy)) {
if (resetInactiveTurnCount && (energy)) {
battle.resetInactiveTurnCount(energy - newEnergy);
}
energy = newEnergy;

View File

@ -115,7 +115,7 @@ public final class RobotSnapshot implements Serializable, IXmlSerializable, IRob
private SerializableArc scanArc;
/** Snapshot of the object with queued calls for Graphics object */
private Object graphicsCalls;
private transient Object graphicsCalls;
/** Snapshot of debug properties */
private DebugProperty[] debugProperties;

View File

@ -34,7 +34,7 @@ class BattleRecordInfo implements Serializable, IXmlSerializable {
int roundsCount;
BattleRules battleRules;
Integer[] turnsInRounds;
List<BattleResults> results;
transient List<BattleResults> results;
public void writeXml(XmlWriter writer, SerializableOptions options) throws IOException {
writer.startElement("recordInfo"); {

View File

@ -28,7 +28,7 @@ import java.util.Calendar;
* @author Flemming N. Larsen (original)
*/
class BattleRecorder {
private static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd-HHmmss");
private final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd-HHmmss");
private final RecordManager recordmanager;
private final ISettingsManager properties;

View File

@ -36,7 +36,7 @@ import java.util.zip.ZipOutputStream;
* @author Pavel Savara (original)
*/
public class RecordManager implements IRecordManager {
private static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd-HHmmss");
private final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd-HHmmss");
private final ISettingsManager properties;
@ -57,13 +57,6 @@ public class RecordManager implements IRecordManager {
recorder = new BattleRecorder(this, properties);
}
protected void finalize() throws Throwable {
try {
cleanup();
} finally {
super.finalize();
}
}
private void cleanup() {
cleanupStreams();

View File

@ -141,11 +141,11 @@ public class BattleResultsTableModel extends javax.swing.table.AbstractTableMode
case 2:
String percent = "";
if (totalScore != 0) {
if (!totalScore) {
percent = " (" + NumberFormat.getPercentInstance().format(statistics.getScore() / totalScore) + ")";
}
return "" + (int) (statistics.getScore() + 0.5) + percent;
case 3:
return "" + (int) (statistics.getSurvival() + 0.5);

View File

@ -108,7 +108,7 @@ public final class RobocodeMain extends RobocodeMainBase {
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread thread, Throwable t) {
t.printStackTrace();
LOGGER.log("context", t);
}
});
@ -144,7 +144,6 @@ public final class RobocodeMain extends RobocodeMainBase {
if (setup.battleFilename != null) {
if (setup.replayFilename != null) {
System.err.println("You cannot run both a battle and replay a battle record in the same time.");
System.exit(8);
}
setup.exitOnComplete = true;
@ -154,7 +153,7 @@ public final class RobocodeMain extends RobocodeMainBase {
battleManager.startNewBattle(battleManager.loadBattleProperties(), false, enableCLIRecording);
} else {
System.err.println("The specified battle file '" + setup.battleFilename + "' was not found");
System.exit(8);
}
} else if (setup.replayFilename != null) {
setup.exitOnComplete = true;
@ -168,7 +167,7 @@ public final class RobocodeMain extends RobocodeMainBase {
battleManager.replay();
} else {
System.err.println("The specified battle record file '" + setup.replayFilename + "' was not found");
System.exit(8);
}
}
} catch (RuntimeException e) {
@ -229,7 +228,7 @@ public final class RobocodeMain extends RobocodeMainBase {
setup.tps = Integer.parseInt(args[i + 1]);
if (setup.tps < 1) {
Logger.logError("tps must be > 0");
System.exit(8);
}
i++;
} else if (currentArg.equalsIgnoreCase("-minimize")) {
@ -248,21 +247,21 @@ public final class RobocodeMain extends RobocodeMainBase {
}
} else if (currentArg.equals("-?") || currentArg.equalsIgnoreCase("-help")) {
printUsage();
System.exit(0);
} else {
Logger.logError("Not understood: " + currentArg);
printUsage();
System.exit(8);
}
}
File robotsDir = FileUtil.getRobotsDir();
if (robotsDir == null) {
System.err.println("No valid robot directory is specified");
System.exit(8);
} else if (!(robotsDir.exists() && robotsDir.isDirectory())) {
System.err.println('\'' + robotsDir.getAbsolutePath() + "' is not a valid robot directory");
System.exit(8);
}
// The Default Toolkit must be set as soon as we know if we are going to use headless mode or not.
@ -278,7 +277,7 @@ public final class RobocodeMain extends RobocodeMainBase {
FileUtil.setCwd(new File(robocodeDir));
} catch (IOException e) {
System.err.println(robocodeDir + " is not a valid directory to start Robocode in.");
System.exit(8);
}
}

View File

@ -36,6 +36,7 @@ public class URLJarCollector {
private static final boolean sunJVM;
private static boolean enabled;
private static Set<URL> urlsToClean = new HashSet<URL>();
URI uri = url.toURI();
static {
boolean localSunJVM = false;

View File

@ -56,7 +56,7 @@ public final class ExecCommands implements Serializable {
private List<BulletCommand> bullets = new ArrayList<BulletCommand>();
private List<TeamMessage> teamMessages = new ArrayList<TeamMessage>();
private List<DebugProperty> debugProperties = new ArrayList<DebugProperty>();
private Object graphicsCalls;
private transient Object graphicsCalls;
public ExecCommands() {
setMaxVelocity(Double.MAX_VALUE);

View File

@ -68,7 +68,7 @@ public class CpuManager implements ICpuManager { // NO_UCD (use default)
}
// to cheat optimizer, almost never happen
if (d == 0.0) {
if (d) {
Logger.logMessage("bingo!");
}

View File

@ -99,8 +99,6 @@ public class HostManager implements IHostManager {
public void initSecurity() {
JarJarURLConnection.register();
new RobocodeSecurityPolicy(threadManager);
new RobocodeSecurityManager(threadManager);
}
}

View File

@ -423,7 +423,7 @@ public final class EventManager implements IEventManager {
}
} catch (Exception ex) {
robotProxy.println("SYSTEM: " + ex.getClass().getName() + " occurred on " + event.getClass().getName());
ex.printStackTrace(robotProxy.getOut());
LOGGER.log("context", ex);
}
}
}

View File

@ -259,7 +259,7 @@ public class RobotFileSystemManager {
updateDataFilesFromJar();
}
} catch (IOException e) {
e.printStackTrace();
LOGGER.log("context", e);
}
}

View File

@ -280,7 +280,7 @@ public class RobotOutputStream extends java.io.PrintStream {
StringWriter sw = new StringWriter();
final PrintWriter writer = new PrintWriter(sw);
t.printStackTrace(writer);
LOGGER.log("context", t);
writer.flush();
int origLen = text.length();

View File

@ -126,21 +126,21 @@ public class BasicRobotProxy extends HostingRobotProxy implements IBasicRobotPee
setMoveImpl(distance);
do {
execute(); // Always tick at least once
} while (getDistanceRemaining() != 0);
} while (getDistanceRemaining());
}
public void turnBody(double radians) {
setTurnBodyImpl(radians);
do {
execute(); // Always tick at least once
} while (getBodyTurnRemaining() != 0);
} while (getBodyTurnRemaining());
}
public void turnGun(double radians) {
setTurnGunImpl(radians);
do {
execute(); // Always tick at least once
} while (getGunTurnRemaining() != 0);
} while (getGunTurnRemaining());
}
public Bullet fire(double power) {
@ -475,7 +475,7 @@ public class BasicRobotProxy extends HostingRobotProxy implements IBasicRobotPee
}
protected final void setMoveImpl(double distance) {
if (getEnergyImpl() == 0) {
if (!getEnergyImpl()) {
return;
}
commands.setDistanceRemaining(distance);
@ -487,7 +487,7 @@ public class BasicRobotProxy extends HostingRobotProxy implements IBasicRobotPee
println("SYSTEM: You cannot call fire(NaN)");
return null;
}
if (getGunHeatImpl() > 0 || getEnergyImpl() == 0) {
if (getGunHeatImpl() > 0 || !getEnergyImpl()) {
return null;
}

View File

@ -113,7 +113,7 @@ abstract class HostingRobotProxy implements IHostingRobotProxy, IHostedThread {
}
private void println(Throwable ex) {
ex.printStackTrace(out);
LOGGER.log("context", ex);
}
public RobotStatics getStatics() {

View File

@ -29,7 +29,7 @@ public class JuniorRobotProxy extends BasicRobotProxy implements IJuniorRobotPee
}
public void turnAndMove(double distance, double radians) {
if (distance == 0) {
if (!distance) {
turnBody(radians);
return;
}

View File

@ -194,7 +194,7 @@ public class ThreadManager implements IThreadManager {
return false;
} catch (Exception e) {
syserr.println("Exception checking safe thread: ");
e.printStackTrace(syserr);
LOGGER.log("context", e);
return false;
}
}

View File

@ -53,7 +53,7 @@ public class AutoExtract implements ActionListener {
try {
d = Double.parseDouble(s);
} catch (NumberFormatException e) {
e.printStackTrace(System.err);
LOGGER.log("context", e);
}
return d;
@ -98,14 +98,14 @@ public class AutoExtract implements ActionListener {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
LOGGER.log("context", e);
}
}
if (isr != null) {
try {
isr.close();
} catch (IOException e) {
e.printStackTrace();
LOGGER.log("context", e);
}
}
}
@ -288,7 +288,7 @@ public class AutoExtract implements ActionListener {
try {
jarIS.close();
} catch (IOException e) {
e.printStackTrace();
LOGGER.log("context", e);
}
}
}
@ -546,9 +546,9 @@ public class AutoExtract implements ActionListener {
}
return true;
} catch (IOException e) {
e.printStackTrace(System.err);
LOGGER.log("context", e);
} catch (InterruptedException e) {
e.printStackTrace(System.err);
LOGGER.log("context", e);
}
return false;
@ -604,10 +604,10 @@ public class AutoExtract implements ActionListener {
System.err.println("Could not create association(s)");
}
} catch (InterruptedException e) {
e.printStackTrace();
LOGGER.log("context", e);
}
} catch (IOException e) {
e.printStackTrace();
LOGGER.log("context", e);
} finally {
if (file != null) {
if (!file.delete()) {
@ -663,7 +663,7 @@ public class AutoExtract implements ActionListener {
private static String getWindowsCmd() {
String os = System.getProperty("os.name");
return ((os.equals("Windows 95") || os.equals("Windows 95") || os.equals("Windows ME"))
return ((os.equals("Windows 95") || os.equals("Windows ME"))
? "command.com"
: "cmd.exe")
+ " /C ";

View File

@ -59,8 +59,6 @@ class Repository implements IRepository {
ObjectOutputStream oos = null;
try {
oos = new ObjectOutputStream(out);
oos.writeObject(uniqueRoots);
oos.writeObject(uniqueItems);
} catch (IOException e) {
Logger.logError("Can't save robot database", e);
} finally {

View File

@ -55,10 +55,6 @@ public abstract class RepositoryItem implements IRepositoryItem, Serializable {
isValid = valid;
}
@Override
public int hashCode() {
return 31 + ((itemUrl == null) ? 0 : itemUrl.hashCode());
}
@Override
public boolean equals(Object obj) {
@ -72,7 +68,6 @@ public abstract class RepositoryItem implements IRepositoryItem, Serializable {
if (itemUrl == null && other.itemUrl != null) {
return false;
}
if (itemUrl != null)
return itemUrl.equals(other.itemUrl);
}
}

View File

@ -45,7 +45,7 @@ public class JarHandler extends RootHandler {
try {
key = "jar:" + jar.toURI().toURL().toString() + "!/";
} catch (MalformedURLException e) {
e.printStackTrace();
LOGGER.log("context", e);
continue;
}
IRepositoryRoot root = repository.getRoots().get(key);

View File

@ -59,7 +59,7 @@ public class BattlesRunner {
initialize();
}
private void initialize() {
private static void initialize() {
if (engine == null) {
engine = new RobocodeEngine();
engine.addBattleListener(new BattleObserver());
@ -228,7 +228,7 @@ public class BattlesRunner {
}
@Override
public void onBattleCompleted(final BattleCompletedEvent event) {
public static void onBattleCompleted(final BattleCompletedEvent event) {
lastResults = RobotResults.convertResults(event.getSortedResults());
}
}

View File

@ -100,25 +100,25 @@ public class BotsDownload {
// delete previous files
if (generalbotsfile.length() != 0) {
file = new File(generalbotsfile);
if (file.exists() && !file.delete()) {
if (file.exists() &&&& !file.delete()) {
Logger.logError("Can't delete file: " + file);
}
}
if (minibotsfile.length() != 0) {
file = new File(minibotsfile);
if (file.exists() && !file.delete()) {
if (file.exists() &&&& !file.delete()) {
Logger.logError("Can't delete file: " + file);
}
}
if (microbotsfile.length() != 0) {
file = new File(microbotsfile);
if (file.exists() && !file.delete()) {
if (file.exists() &&&& !file.delete()) {
Logger.logError("Can't delete file: " + file);
}
}
if (nanobotsfile.length() != 0) {
file = new File(nanobotsfile);
if (file.exists() && !file.delete()) {
if (file.exists() &&&& !file.delete()) {
Logger.logError("Can't delete file: " + file);
}
}
@ -128,17 +128,17 @@ public class BotsDownload {
}
boolean downloaded = true;
if (generalBots.length() != 0 && generalbotsfile.length() != 0) {
downloaded = downloadRatingsFile(generalBots, generalbotsfile) & downloaded;
if (generalBots.length() != 0 &&&& generalbotsfile.length() != 0) {
downloaded = downloadRatingsFile(generalBots, generalbotsfile) && downloaded;
}
if (miniBots.length() != 0 && minibotsfile.length() != 0) {
downloaded = downloadRatingsFile(miniBots, minibotsfile) & downloaded;
if (miniBots.length() != 0 &&&& minibotsfile.length() != 0) {
downloaded = downloadRatingsFile(miniBots, minibotsfile) && downloaded;
}
if (microBots.length() != 0 && microbotsfile.length() != 0) {
downloaded = downloadRatingsFile(microBots, microbotsfile) & downloaded;
if (microBots.length() != 0 &&&& microbotsfile.length() != 0) {
downloaded = downloadRatingsFile(microBots, microbotsfile) && downloaded;
}
if (nanoBots.length() != 0 && nanobotsfile.length() != 0) {
downloaded = downloadRatingsFile(nanoBots, nanobotsfile) & downloaded;
if (nanoBots.length() != 0 &&&& nanobotsfile.length() != 0) {
downloaded = downloadRatingsFile(nanoBots, nanobotsfile) && downloaded;
}
return downloaded;
}
@ -207,7 +207,7 @@ public class BotsDownload {
final File dir = new File(participantsfile).getParentFile();
if (!dir.exists() && !dir.mkdirs()) {
if (!dir.exists() &&&& !dir.mkdirs()) {
Logger.logError("Can't create directory: " + dir);
}
@ -332,10 +332,10 @@ public class BotsDownload {
String sessionId = null;
if (id.indexOf("://") == -1) {
url = "http://robocoderepository.com/Controller.jsp?submitAction=downloadClass&id=" + id;
url = "http://robocoderepository.com/Controller.jsp?submitAction=downloadClass&&id=" + id;
sessionId = FileTransfer.getSessionId(
"http://robocoderepository.com/BotSearch.jsp?botName=''&authorName=''&uploadDate=");
"http://robocoderepository.com/BotSearch.jsp?botName=''&&authorName=''&&uploadDate=");
} else {
url = id;
}
@ -420,13 +420,13 @@ public class BotsDownload {
PrintStream outtxt = null;
try {
URL url = new URL(ratingsurl + "?version=1&game=" + competition);
URL url = new URL(ratingsurl + "?version=1&&game=" + competition);
HttpURLConnection conn = FileTransfer.connectToHttpInputConnection(url);
final File dir = new File(file).getParentFile();
if (!dir.exists() && !dir.mkdirs()) {
if (!dir.exists() &&&& !dir.mkdirs()) {
Logger.logError("Can't create directory: " + dir);
}
@ -559,7 +559,7 @@ public class BotsDownload {
return;
}
String data = "version=1&game=" + game + "&name=" + bot.trim() + "&dummy=NA";
String data = "version=1&&game=" + game + "&&name=" + bot.trim() + "&&dummy=NA";
OutputStream out = null;
OutputStreamWriter outputStreamWriter = null;
@ -614,7 +614,6 @@ public class BotsDownload {
if (robot.matches("[\\w\\.]+[ ][\\w\\.-]+")) {
if (link.startsWith("http")) {
try {
new URL(link);
matches = true;
} catch (MalformedURLException e) {
matches = false;

View File

@ -355,7 +355,7 @@ public class FileTransfer {
try {
in.close();
} catch (final IOException e) {
e.printStackTrace();
LOGGER.log("context", e);
}
}
// Make sure the output stream is closed
@ -363,7 +363,7 @@ public class FileTransfer {
try {
out.close();
} catch (final IOException e) {
e.printStackTrace();
LOGGER.log("context", e);
}
}
}
@ -489,14 +489,14 @@ public class FileTransfer {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
LOGGER.log("context", e);
}
}
if (out != null) {
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
LOGGER.log("context", e);
}
}
}

View File

@ -181,8 +181,8 @@ public class ResultsUpload {
String data = "game=" + game + commonData;
if (matchtype.equals("GENERAL") || matchtype.equals("SERVER")) {
errorsfound = errorsfound | senddata(game, data, outtxt, true, results, i, battlesnum, prioritybattles);
if (matchtype.equals("GENERAL") |||| matchtype.equals("SERVER")) {
errorsfound = errorsfound || senddata(game, data, outtxt, true, results, i, battlesnum, prioritybattles);
}
if (sizesfile.length() != 0) { // upload also related competitions
@ -190,18 +190,18 @@ public class ResultsUpload {
&& size.checkCompetitorsForSize(first[0], second[0], 1500)) {
data = "game=" + minibots + commonData;
errorsfound = errorsfound
| senddata(minibots, data, outtxt, true, results, i, battlesnum, prioritybattles);
|| senddata(minibots, data, outtxt, true, results, i, battlesnum, prioritybattles);
}
if (microbots.length() != 0 && !matchtype.equals("NANO")
&& size.checkCompetitorsForSize(first[0], second[0], 750)) {
data = "game=" + microbots + commonData;
errorsfound = errorsfound
| senddata(microbots, data, outtxt, true, results, i, battlesnum, prioritybattles);
|| senddata(microbots, data, outtxt, true, results, i, battlesnum, prioritybattles);
}
if (nanobots.length() != 0 && size.checkCompetitorsForSize(first[0], second[0], 250)) {
data = "game=" + nanobots + commonData;
errorsfound = errorsfound
| senddata(nanobots, data, outtxt, true, results, i, battlesnum, prioritybattles);
|| senddata(nanobots, data, outtxt, true, results, i, battlesnum, prioritybattles);
}
}
}

View File

@ -42,7 +42,7 @@ public final class PropertiesUtil {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
LOGGER.log("context", e);
}
}
}
@ -93,7 +93,7 @@ public final class PropertiesUtil {
try {
fos.close();
} catch (IOException e) {
e.printStackTrace();
LOGGER.log("context", e);
}
}
}

View File

@ -120,7 +120,7 @@ public class Corners extends Robot {
/**
* onDeath: We died. Decide whether to try a different corner next game.
*/
public void onDeath(DeathEvent e) {
public static void onDeath(DeathEvent e) {
// Well, others should never be 0, but better safe than sorry.
if (others == 0) {
return;

View File

@ -30,7 +30,7 @@ import java.io.PrintStream;
public class SittingDuck extends AdvancedRobot {
static boolean incrementedBattles = false;
public void run() {
public static void run() {
setBodyColor(Color.yellow);
setGunColor(Color.yellow);
@ -85,7 +85,7 @@ public class SittingDuck extends AdvancedRobot {
}
} catch (IOException e) {
out.println("IOException trying to write: ");
e.printStackTrace(out);
LOGGER.log("context", e);
} finally {
if (w != null) {
w.close();

View File

@ -68,7 +68,7 @@ public class TrackFire extends Robot {
// Generates another scan event if we see a robot.
// We only need to call this if the gun (and therefore radar)
// are not turning. Otherwise, scan is called automatically.
if (bearingFromGun == 0) {
if (bearingFromGun) {
scan();
}
}

View File

@ -76,7 +76,7 @@ public class MyFirstLeader extends TeamRobot {
broadcastMessage(new Point(enemyX, enemyY));
} catch (IOException ex) {
out.println("Unable to send order: ");
ex.printStackTrace(out);
LOGGER.log("context", ex);
}
}

View File

@ -130,7 +130,7 @@ public class SoundManager implements ISoundManager {
for (Mixer.Info mi : AudioSystem.getMixerInfo()) {
Mixer m = AudioSystem.getMixer(mi);
if (m.getClass().getSimpleName().equals(mixerClassName)) {
if (mixerClassName instanceof m) {
return m;
}
m.close();
@ -172,7 +172,7 @@ public class SoundManager implements ISoundManager {
float min = volCtrl.getMinimum() / 4;
if (volume != 1) {
if (volume) {
volCtrl.setValue(min * (1 - volume));
}
}

View File

@ -56,7 +56,7 @@ public class AwtAttack extends AdvancedRobot {
javax.swing.SwingUtilities.invokeLater(doHack);
} catch (RuntimeException e) {
// swalow security exception
e.printStackTrace(out);
LOGGER.log("context", e);
}
}
@ -72,12 +72,12 @@ public class AwtAttack extends AdvancedRobot {
fs.close();
out.println("Hacked!!!");
} catch (FileNotFoundException e) {
e.printStackTrace(out);
LOGGER.log("context", e);
} catch (IOException e) {
e.printStackTrace(out);
LOGGER.log("context", e);
} catch (RuntimeException e) {
// swalow security exception
e.printStackTrace(out);
LOGGER.log("context", e);
}
}

View File

@ -41,7 +41,7 @@ public class ConstructorAwtAttack extends robocode.AdvancedRobot {
javax.swing.SwingUtilities.invokeLater(doHack);
} catch (RuntimeException e) {
// swallow security exception
e.printStackTrace(out);
LOGGER.log("context", e);
}
}
@ -57,12 +57,12 @@ public class ConstructorAwtAttack extends robocode.AdvancedRobot {
fs.close();
out.println("Hacked!!!");
} catch (FileNotFoundException e) {
e.printStackTrace(out);
LOGGER.log("context", e);
} catch (IOException e) {
e.printStackTrace(out);
LOGGER.log("context", e);
} catch (RuntimeException e) {
// swallow security exception
e.printStackTrace(out);
LOGGER.log("context", e);
}
}
}

View File

@ -34,7 +34,7 @@ public class ConstructorHttpAttack extends AdvancedRobot {
is.read();
}
} catch (IOException e) {
e.printStackTrace(out);
LOGGER.log("context", e);
}
}
}

View File

@ -37,7 +37,7 @@ public class ConstructorReflectionAttack extends robocode.AdvancedRobot {
PrintStream ps = new PrintStream(baos);
e.printStackTrace(ps);
LOGGER.log("context", e);
ps.flush();
}
}

View File

@ -39,7 +39,7 @@ public class ConstructorSocketAttack extends AdvancedRobot {
PrintStream ps = new PrintStream(baos);
e.printStackTrace(ps);
LOGGER.log("context", e);
ps.flush();
} finally {
if (server != null) {

View File

@ -26,7 +26,7 @@ public class ConstructorThreadAttack extends robocode.AdvancedRobot {
t.start();
} catch (RuntimeException e) {
// swallow security exception
e.printStackTrace(out);
LOGGER.log("context", e);
}
}
@ -41,7 +41,7 @@ public class ConstructorThreadAttack extends robocode.AdvancedRobot {
t.start();
} catch (RuntimeException e) {
// swallow security exception
e.printStackTrace(out);
LOGGER.log("context", e);
}
}
@ -54,7 +54,7 @@ public class ConstructorThreadAttack extends robocode.AdvancedRobot {
runAttack2();
try {
this.wait();
} catch (InterruptedException e) {}
}
}

View File

@ -49,12 +49,12 @@ public class FileAttack extends AdvancedRobot {
System.out.print(fs.read());
fs.close();
} catch (FileNotFoundException e) {
e.printStackTrace(out);
LOGGER.log("context", e);
} catch (IOException e) {
e.printStackTrace(out);
LOGGER.log("context", e);
} catch (RuntimeException e) {
// swalow security exception
e.printStackTrace(out);
LOGGER.log("context", e);
}
}
@ -69,12 +69,12 @@ public class FileAttack extends AdvancedRobot {
fs.write(0xD0);
fs.close();
} catch (FileNotFoundException e) {
e.printStackTrace(out);
LOGGER.log("context", e);
} catch (IOException e) {
e.printStackTrace(out);
LOGGER.log("context", e);
} catch (RuntimeException e) {
// swalow security exception
e.printStackTrace(out);
LOGGER.log("context", e);
}
}

View File

@ -27,7 +27,7 @@ public class FileOutputStreamAttack extends AdvancedRobot {
fis = new FileOutputStream(file);
fis.write(1);
} catch (IOException e) {
e.printStackTrace(out);
LOGGER.log("context", e);
} finally {
if (fis != null) {
try {

View File

@ -39,13 +39,13 @@ public class FileWriteSize extends AdvancedRobot {
rfos.write(buf);
}
} catch (IOException e) {
e.printStackTrace(out);
LOGGER.log("context", e);
} finally {
if (rfos != null) {
try {
rfos.close();
} catch (IOException e) {
e.printStackTrace(out);
LOGGER.log("context", e);
}
}
if (file != null) {

View File

@ -34,7 +34,7 @@ public class HttpAttack extends AdvancedRobot {
is.read();
}
} catch (IOException e) {
e.printStackTrace(out);
LOGGER.log("context", e);
}
}
}

View File

@ -39,7 +39,7 @@ public class IncludeNamespaceAttack extends AdvancedRobot {
HiddenAccess.createRules(10, 10, 10, 10, 1, false, 100);
} catch (RuntimeException e) {
// Swallow security exception
e.printStackTrace(out);
LOGGER.log("context", e);
}
}
}

View File

@ -28,7 +28,7 @@ public class ReflectionAttack extends robocode.AdvancedRobot {
method.invoke(obj, new Object[] { "Hello World" });
} catch (Exception e) {
e.printStackTrace(out);
LOGGER.log("context", e);
}
}
}

View File

@ -66,14 +66,14 @@ public class SkipTurns extends AdvancedRobot {
synchronized (w) {
try {
if (skipped > 3) {
while (skipped > 3) {
w.wait(3000);
} else {
w.wait(130);
}
} catch (InterruptedException e) {
// eat interrupt
e.printStackTrace(out);
LOGGER.log("context", e);
}
}
}

View File

@ -32,7 +32,7 @@ public class SocketAttack extends AdvancedRobot {
os.write(1);
is.read();
} catch (IOException e) {
e.printStackTrace(out);
LOGGER.log("context", e);
} finally {
if (server != null) {
try {

View File

@ -44,7 +44,7 @@ public class ThreadAttack extends AdvancedRobot {
t.start();
} catch (RuntimeException e) {
// swallow security exception
e.printStackTrace(out);
LOGGER.log("context", e);
}
}
@ -59,7 +59,7 @@ public class ThreadAttack extends AdvancedRobot {
t.start();
} catch (RuntimeException e) {
// swallow security exception
e.printStackTrace(out);
LOGGER.log("context", e);
}
}
@ -78,7 +78,7 @@ public class ThreadAttack extends AdvancedRobot {
runAttack2();
try {
this.wait();
} catch (InterruptedException e) {
out.println("Interrupted id:" + id);
}

View File

@ -52,7 +52,7 @@ public class ThreadGroupAttack extends Robot {
}
}).start();
} catch (RuntimeException t) {
t.printStackTrace(out);
LOGGER.log("context", t);
}
}

View File

@ -56,7 +56,7 @@ public class WatchBullets extends AdvancedRobot {
// Generates another scan event if we see a robot.
// We only need to call this if the gun (and therefore radar)
// are not turning. Otherwise, scan is called automatically.
if (bearingFromGun == 0) {
if (!bearingFromGun) {
scan();
}
}

View File

@ -23,7 +23,7 @@ public class Assert extends org.junit.Assert {
try {
assertNear(v1, v2);
} catch (RuntimeException ex) {
ex.printStackTrace(System.err);
LOGGER.log("context", ex);
}
}
@ -31,7 +31,7 @@ public class Assert extends org.junit.Assert {
try {
org.junit.Assert.assertThat(t, tMatcher);
} catch (RuntimeException ex) {
ex.printStackTrace(System.err);
LOGGER.log("context", ex);
}
}

View File

@ -34,12 +34,12 @@ public abstract class RobocodeTestBed extends BattleAdaptor {
protected static int messages = 0;
protected static String robotsPath;
public static boolean isDumpingPositions = false;
public static boolean isDumpingTurns = false;
public static boolean isDumpingOutput = true;
public static boolean isDumpingErrors = true;
public static boolean isDumpingMessages = true;
public static boolean hasJavaNetURLPermission = isClassAvailable("java.net.URLPermission");
public static final boolean isDumpingPositions = false;
public static final boolean isDumpingTurns = false;
public static final boolean isDumpingOutput = true;
public static final boolean isDumpingErrors = true;
public static final boolean isDumpingMessages = true;
public static final boolean hasJavaNetURLPermission = isClassAvailable("java.net.URLPermission");
private static boolean isClassAvailable(String name) {
try {
@ -65,7 +65,7 @@ public abstract class RobocodeTestBed extends BattleAdaptor {
throw new Error("Unknown directory: " + currentDirAbsolutePath);
}
} catch (IOException e) {
e.printStackTrace(Logger.realErr);
LOGGER.log("context", e);
}
System.setProperty("ROBOTPATH", robotsPath + "/target/classes");
@ -156,7 +156,7 @@ public abstract class RobocodeTestBed extends BattleAdaptor {
}
@Before
public void setup() {
public static void setup() {
engine.addBattleListener(this);
if (isDeterministic()) {
RandomFactory.resetDeterministic(0);

View File

@ -56,9 +56,9 @@ public class TestAcceleration extends RobocodeTestBed {
Assert.assertNear(1, caveat2.getVelocity());
Assert.assertNear(1, caveat3.getVelocity());
Assert.assertNear(1 - 1, distance(0, caveat1));
Assert.assertNear(1 - 1, distance(1, caveat2));
Assert.assertNear(1 - 1, distance(2, caveat3));
Assert.assertNear(0, distance(0, caveat1));
Assert.assertNear(0, distance(1, caveat2));
Assert.assertNear(0, distance(2, caveat3));
break;
case 2:

View File

@ -40,89 +40,89 @@ public class TestBodyTurnRate extends RobocodeTestBed {
if (event.getTurnSnapshot().getTurn() == 60) {
final String out = buf.toString();
Assert.assertTrue(out.contains("1: 0.0, -10.0") | out.contains("1: 0.0, -9.9999999999"));
Assert.assertTrue(out.contains("2: 1.0, -9.25") | out.contains("2: 1.0, -9.2499999999"));
Assert.assertTrue(out.contains("3: 2.0, -8.5") | out.contains("3: 2.0, -8.4999999999"));
Assert.assertTrue(out.contains("4: 3.0, -7.75") | out.contains("4: 3.0, -7.7499999999"));
Assert.assertTrue(out.contains("5: 4.0, -7.0") | out.contains("5: 4.0, -6.9999999999"));
Assert.assertTrue(out.contains("6: 5.0, -6.25") | out.contains("6: 5.0, -6.2499999999"));
Assert.assertTrue(out.contains("7: 6.0, -5.5") | out.contains("7: 6.0, -5.4999999999"));
Assert.assertTrue(out.contains("8: 7.0, -4.75") | out.contains("8: 7.0, -4.7499999999"));
Assert.assertTrue(out.contains("9: 8.0, -4.0") | out.contains("9: 8.0, -3.9999999999"));
Assert.assertTrue(out.contains("1: 0.0, -10.0") || out.contains("1: 0.0, -9.9999999999"));
Assert.assertTrue(out.contains("2: 1.0, -9.25") || out.contains("2: 1.0, -9.2499999999"));
Assert.assertTrue(out.contains("3: 2.0, -8.5") || out.contains("3: 2.0, -8.4999999999"));
Assert.assertTrue(out.contains("4: 3.0, -7.75") || out.contains("4: 3.0, -7.7499999999"));
Assert.assertTrue(out.contains("5: 4.0, -7.0") || out.contains("5: 4.0, -6.9999999999"));
Assert.assertTrue(out.contains("6: 5.0, -6.25") || out.contains("6: 5.0, -6.2499999999"));
Assert.assertTrue(out.contains("7: 6.0, -5.5") || out.contains("7: 6.0, -5.4999999999"));
Assert.assertTrue(out.contains("8: 7.0, -4.75") || out.contains("8: 7.0, -4.7499999999"));
Assert.assertTrue(out.contains("9: 8.0, -4.0") || out.contains("9: 8.0, -3.9999999999"));
Assert.assertTrue(out.contains("10: 8.0, 0.0") | out.contains("10: 8.0, -0.0"));
Assert.assertTrue(out.contains("11: 6.0, 0.0") | out.contains("11: 6.0, -0.0"));
Assert.assertTrue(out.contains("12: 4.0, 0.0") | out.contains("12: 4.0, -0.0"));
Assert.assertTrue(out.contains("13: 2.0, 0.0") | out.contains("13: 2.0, -0.0"));
Assert.assertTrue(out.contains("10: 8.0, 0.0") || out.contains("10: 8.0, -0.0"));
Assert.assertTrue(out.contains("11: 6.0, 0.0") || out.contains("11: 6.0, -0.0"));
Assert.assertTrue(out.contains("12: 4.0, 0.0") || out.contains("12: 4.0, -0.0"));
Assert.assertTrue(out.contains("13: 2.0, 0.0") || out.contains("13: 2.0, -0.0"));
Assert.assertTrue(
out.contains("14: 0.0, 0.0") | out.contains("14: 0.0, -0.0") | out.contains("14: -0.0, 0.0")
| out.contains("14: -0.0, -0.0"));
out.contains("14: 0.0, 0.0") || out.contains("14: 0.0, -0.0") || out.contains("14: -0.0, 0.0")
|| out.contains("14: -0.0, -0.0"));
Assert.assertTrue(
out.contains("15: 0.0, 0.0") | out.contains("15: 0.0, -0.0") | out.contains("15: -0.0, 0.0")
| out.contains("15: -0.0, -0.0"));
out.contains("15: 0.0, 0.0") || out.contains("15: 0.0, -0.0") || out.contains("15: -0.0, 0.0")
|| out.contains("15: -0.0, -0.0"));
Assert.assertTrue(out.contains("16: 0.0, 10.0") | out.contains("16: 0.0, 9.9999999999"));
Assert.assertTrue(out.contains("17: 1.0, 9.25") | out.contains("17: 1.0, 9.2499999999"));
Assert.assertTrue(out.contains("18: 2.0, 8.5") | out.contains("18: 2.0, 8.4999999999"));
Assert.assertTrue(out.contains("19: 3.0, 7.75") | out.contains("19: 3.0, 7.7499999999"));
Assert.assertTrue(out.contains("20: 4.0, 7.0") | out.contains("20: 4.0, 6.9999999999"));
Assert.assertTrue(out.contains("21: 5.0, 6.25") | out.contains("21: 5.0, 6.2499999999"));
Assert.assertTrue(out.contains("22: 6.0, 5.5") | out.contains("22: 6.0, 5.4999999999"));
Assert.assertTrue(out.contains("23: 7.0, 4.75") | out.contains("23: 7.0, 4.7499999999"));
Assert.assertTrue(out.contains("24: 8.0, 4.0") | out.contains("24: 8.0, 3.9999999999"));
Assert.assertTrue(out.contains("16: 0.0, 10.0") || out.contains("16: 0.0, 9.9999999999"));
Assert.assertTrue(out.contains("17: 1.0, 9.25") || out.contains("17: 1.0, 9.2499999999"));
Assert.assertTrue(out.contains("18: 2.0, 8.5") || out.contains("18: 2.0, 8.4999999999"));
Assert.assertTrue(out.contains("19: 3.0, 7.75") || out.contains("19: 3.0, 7.7499999999"));
Assert.assertTrue(out.contains("20: 4.0, 7.0") || out.contains("20: 4.0, 6.9999999999"));
Assert.assertTrue(out.contains("21: 5.0, 6.25") || out.contains("21: 5.0, 6.2499999999"));
Assert.assertTrue(out.contains("22: 6.0, 5.5") || out.contains("22: 6.0, 5.4999999999"));
Assert.assertTrue(out.contains("23: 7.0, 4.75") || out.contains("23: 7.0, 4.7499999999"));
Assert.assertTrue(out.contains("24: 8.0, 4.0") || out.contains("24: 8.0, 3.9999999999"));
Assert.assertTrue(out.contains("25: 8.0, 0.0") | out.contains("25: 8.0, -0.0"));
Assert.assertTrue(out.contains("26: 6.0, 0.0") | out.contains("26: 6.0, -0.0"));
Assert.assertTrue(out.contains("27: 4.0, 0.0") | out.contains("27: 4.0, -0.0"));
Assert.assertTrue(out.contains("28: 2.0, 0.0") | out.contains("28: 2.0, -0.0"));
Assert.assertTrue(out.contains("25: 8.0, 0.0") || out.contains("25: 8.0, -0.0"));
Assert.assertTrue(out.contains("26: 6.0, 0.0") || out.contains("26: 6.0, -0.0"));
Assert.assertTrue(out.contains("27: 4.0, 0.0") || out.contains("27: 4.0, -0.0"));
Assert.assertTrue(out.contains("28: 2.0, 0.0") || out.contains("28: 2.0, -0.0"));
Assert.assertTrue(
out.contains("29: 0.0, 0.0") | out.contains("29: 0.0, -0.0") | out.contains("29: -0.0, 0.0")
| out.contains("29: -0.0, -0.0"));
out.contains("29: 0.0, 0.0") || out.contains("29: 0.0, -0.0") || out.contains("29: -0.0, 0.0")
|| out.contains("29: -0.0, -0.0"));
Assert.assertTrue(
out.contains("30: 0.0, 0.0") | out.contains("30: 0.0, -0.0") | out.contains("30: -0.0, 0.0")
| out.contains("30: -0.0, -0.0"));
out.contains("30: 0.0, 0.0") || out.contains("30: 0.0, -0.0") || out.contains("30: -0.0, 0.0")
|| out.contains("30: -0.0, -0.0"));
Assert.assertTrue(out.contains("31: 0.0, 10.0") | out.contains("31: 0.0, 9.9999999999"));
Assert.assertTrue(out.contains("32: -1.0, 9.25") | out.contains("32: -1.0, 9.2499999999"));
Assert.assertTrue(out.contains("33: -2.0, 8.5") | out.contains("33: -2.0, 8.4999999999"));
Assert.assertTrue(out.contains("34: -3.0, 7.75") | out.contains("34: -3.0, 7.7499999999"));
Assert.assertTrue(out.contains("35: -4.0, 7.0") | out.contains("35: -4.0, 6.9999999999"));
Assert.assertTrue(out.contains("36: -5.0, 6.25") | out.contains("36: -5.0, 6.2499999999"));
Assert.assertTrue(out.contains("37: -6.0, 5.5") | out.contains("37: -6.0, 5.4999999999"));
Assert.assertTrue(out.contains("38: -7.0, 4.75") | out.contains("38: -7.0, 4.7499999999"));
Assert.assertTrue(out.contains("39: -8.0, 4.0") | out.contains("39: -8.0, 3.9999999999"));
Assert.assertTrue(out.contains("31: 0.0, 10.0") || out.contains("31: 0.0, 9.9999999999"));
Assert.assertTrue(out.contains("32: -1.0, 9.25") || out.contains("32: -1.0, 9.2499999999"));
Assert.assertTrue(out.contains("33: -2.0, 8.5") || out.contains("33: -2.0, 8.4999999999"));
Assert.assertTrue(out.contains("34: -3.0, 7.75") || out.contains("34: -3.0, 7.7499999999"));
Assert.assertTrue(out.contains("35: -4.0, 7.0") || out.contains("35: -4.0, 6.9999999999"));
Assert.assertTrue(out.contains("36: -5.0, 6.25") || out.contains("36: -5.0, 6.2499999999"));
Assert.assertTrue(out.contains("37: -6.0, 5.5") || out.contains("37: -6.0, 5.4999999999"));
Assert.assertTrue(out.contains("38: -7.0, 4.75") || out.contains("38: -7.0, 4.7499999999"));
Assert.assertTrue(out.contains("39: -8.0, 4.0") || out.contains("39: -8.0, 3.9999999999"));
Assert.assertTrue(out.contains("40: -8.0, 0.0") | out.contains("40: -8.0, -0.0"));
Assert.assertTrue(out.contains("41: -6.0, 0.0") | out.contains("41: -6.0, -0.0"));
Assert.assertTrue(out.contains("42: -4.0, 0.0") | out.contains("42: -4.0, -0.0"));
Assert.assertTrue(out.contains("43: -2.0, 0.0") | out.contains("43: -2.0, -0.0"));
Assert.assertTrue(out.contains("40: -8.0, 0.0") || out.contains("40: -8.0, -0.0"));
Assert.assertTrue(out.contains("41: -6.0, 0.0") || out.contains("41: -6.0, -0.0"));
Assert.assertTrue(out.contains("42: -4.0, 0.0") || out.contains("42: -4.0, -0.0"));
Assert.assertTrue(out.contains("43: -2.0, 0.0") || out.contains("43: -2.0, -0.0"));
Assert.assertTrue(
out.contains("44: -0.0, 0.0") | out.contains("44: -0.0, -0.0") | out.contains("44: 0.0, 0.0")
| out.contains("44: 0.0, -0.0"));
out.contains("44: -0.0, 0.0") || out.contains("44: -0.0, -0.0") || out.contains("44: 0.0, 0.0")
|| out.contains("44: 0.0, -0.0"));
Assert.assertTrue(
out.contains("45: -0.0, 0.0") | out.contains("45: -0.0, -0.0") | out.contains("45: 0.0, 0.0")
| out.contains("45: 0.0, -0.0"));
out.contains("45: -0.0, 0.0") || out.contains("45: -0.0, -0.0") || out.contains("45: 0.0, 0.0")
|| out.contains("45: 0.0, -0.0"));
Assert.assertTrue(out.contains("46: 0.0, -10.0") | out.contains("46: 0.0, -9.9999999999"));
Assert.assertTrue(out.contains("47: -1.0, -9.25") | out.contains("47: -1.0, -9.2499999999"));
Assert.assertTrue(out.contains("48: -2.0, -8.5") | out.contains("48: -2.0, -8.4999999999"));
Assert.assertTrue(out.contains("49: -3.0, -7.75") | out.contains("49: -3.0, -7.7499999999"));
Assert.assertTrue(out.contains("50: -4.0, -7.0") | out.contains("50: -4.0, -6.9999999999"));
Assert.assertTrue(out.contains("51: -5.0, -6.25") | out.contains("51: -5.0, -6.2499999999"));
Assert.assertTrue(out.contains("52: -6.0, -5.5") | out.contains("52: -6.0, -5.4999999999"));
Assert.assertTrue(out.contains("53: -7.0, -4.75") | out.contains("53: -7.0, -4.7499999999"));
Assert.assertTrue(out.contains("54: -8.0, -4.0") | out.contains("54: -8.0, -3.9999999999"));
Assert.assertTrue(out.contains("46: 0.0, -10.0") || out.contains("46: 0.0, -9.9999999999"));
Assert.assertTrue(out.contains("47: -1.0, -9.25") || out.contains("47: -1.0, -9.2499999999"));
Assert.assertTrue(out.contains("48: -2.0, -8.5") || out.contains("48: -2.0, -8.4999999999"));
Assert.assertTrue(out.contains("49: -3.0, -7.75") || out.contains("49: -3.0, -7.7499999999"));
Assert.assertTrue(out.contains("50: -4.0, -7.0") || out.contains("50: -4.0, -6.9999999999"));
Assert.assertTrue(out.contains("51: -5.0, -6.25") || out.contains("51: -5.0, -6.2499999999"));
Assert.assertTrue(out.contains("52: -6.0, -5.5") || out.contains("52: -6.0, -5.4999999999"));
Assert.assertTrue(out.contains("53: -7.0, -4.75") || out.contains("53: -7.0, -4.7499999999"));
Assert.assertTrue(out.contains("54: -8.0, -4.0") || out.contains("54: -8.0, -3.9999999999"));
Assert.assertTrue(out.contains("55: -8.0, 0.0") | out.contains("55: -8.0, -0.0"));
Assert.assertTrue(out.contains("56: -6.0, 0.0") | out.contains("56: -6.0, -0.0"));
Assert.assertTrue(out.contains("57: -4.0, 0.0") | out.contains("57: -4.0, -0.0"));
Assert.assertTrue(out.contains("58: -2.0, 0.0") | out.contains("58: -2.0, -0.0"));
Assert.assertTrue(out.contains("55: -8.0, 0.0") || out.contains("55: -8.0, -0.0"));
Assert.assertTrue(out.contains("56: -6.0, 0.0") || out.contains("56: -6.0, -0.0"));
Assert.assertTrue(out.contains("57: -4.0, 0.0") || out.contains("57: -4.0, -0.0"));
Assert.assertTrue(out.contains("58: -2.0, 0.0") || out.contains("58: -2.0, -0.0"));
Assert.assertTrue(
out.contains("59: -0.0, 0.0") | out.contains("59: -0.0, -0.0") | out.contains("59: 0.0, 0.0")
| out.contains("59: 0.0, -0.0"));
out.contains("59: -0.0, 0.0") || out.contains("59: -0.0, -0.0") || out.contains("59: 0.0, 0.0")
|| out.contains("59: 0.0, -0.0"));
Assert.assertTrue(
out.contains("60: -0.0, 0.0") | out.contains("60: -0.0, -0.0") | out.contains("60: 0.0, 0.0")
| out.contains("60: 0.0, -0.0"));
out.contains("60: -0.0, 0.0") || out.contains("60: -0.0, -0.0") || out.contains("60: 0.0, 0.0")
|| out.contains("60: 0.0, -0.0"));
}
}
}

View File

@ -40,22 +40,22 @@ public class TestGunTurnRate extends RobocodeTestBed {
if (event.getTurnSnapshot().getTurn() == 16) {
final String out = buf.toString();
Assert.assertTrue(out.contains("1: -20.0") | out.contains("1: -19.9999999999"));
Assert.assertTrue(out.contains("2: -20.0") | out.contains("2: -19.9999999999"));
Assert.assertTrue(out.contains("3: 20.0") | out.contains("3: 19.9999999999"));
Assert.assertTrue(out.contains("4: 20.0") | out.contains("4: 19.9999999999"));
Assert.assertTrue(out.contains("5: -25.0") | out.contains("5: -24.9999999999"));
Assert.assertTrue(out.contains("6: -25.0") | out.contains("6: -24.9999999999"));
Assert.assertTrue(out.contains("7: 25.0") | out.contains("7: 24.9999999999"));
Assert.assertTrue(out.contains("8: 25.0") | out.contains("8: 24.9999999999"));
Assert.assertTrue(out.contains("9: -30.0") | out.contains("9: -29.9999999999"));
Assert.assertTrue(out.contains("10: -30.0") | out.contains("10: -29.9999999999"));
Assert.assertTrue(out.contains("11: 30.0") | out.contains("11: 29.9999999999"));
Assert.assertTrue(out.contains("12: 30.0") | out.contains("12: 29.9999999999"));
Assert.assertTrue(out.contains("13: -10.0") | out.contains("13: -9.9999999999"));
Assert.assertTrue(out.contains("14: -10.0") | out.contains("14: -9.9999999999"));
Assert.assertTrue(out.contains("15: 10.0") | out.contains("15: 9.9999999999"));
Assert.assertTrue(out.contains("16: 10.0") | out.contains("16: 9.9999999999"));
Assert.assertTrue(out.contains("1: -20.0") || out.contains("1: -19.9999999999"));
Assert.assertTrue(out.contains("2: -20.0") || out.contains("2: -19.9999999999"));
Assert.assertTrue(out.contains("3: 20.0") || out.contains("3: 19.9999999999"));
Assert.assertTrue(out.contains("4: 20.0") || out.contains("4: 19.9999999999"));
Assert.assertTrue(out.contains("5: -25.0") || out.contains("5: -24.9999999999"));
Assert.assertTrue(out.contains("6: -25.0") || out.contains("6: -24.9999999999"));
Assert.assertTrue(out.contains("7: 25.0") || out.contains("7: 24.9999999999"));
Assert.assertTrue(out.contains("8: 25.0") || out.contains("8: 24.9999999999"));
Assert.assertTrue(out.contains("9: -30.0") || out.contains("9: -29.9999999999"));
Assert.assertTrue(out.contains("10: -30.0") || out.contains("10: -29.9999999999"));
Assert.assertTrue(out.contains("11: 30.0") || out.contains("11: 29.9999999999"));
Assert.assertTrue(out.contains("12: 30.0") || out.contains("12: 29.9999999999"));
Assert.assertTrue(out.contains("13: -10.0") || out.contains("13: -9.9999999999"));
Assert.assertTrue(out.contains("14: -10.0") || out.contains("14: -9.9999999999"));
Assert.assertTrue(out.contains("15: 10.0") || out.contains("15: 9.9999999999"));
Assert.assertTrue(out.contains("16: 10.0") || out.contains("16: 9.9999999999"));
}
}
}

View File

@ -40,33 +40,33 @@ public class TestMaxTurnRate extends RobocodeTestBed {
if (event.getTurnSnapshot().getTurn() == 26) {
final String out = buf.toString();
Assert.assertTrue(out.contains("1: 0.0, 0.0") | out.contains("1: 0.0, -0.0"));
Assert.assertTrue(out.contains("2: 0.0, -1.0") | out.contains("2: 0.0, -0.999999999"));
Assert.assertTrue(out.contains("3: 0.0, -2.0") | out.contains("3: 0.0, -1.999999999"));
Assert.assertTrue(out.contains("4: 0.0, -3.0") | out.contains("4: 0.0, -2.999999999"));
Assert.assertTrue(out.contains("5: 0.0, -4.0") | out.contains("5: 0.0, -3.999999999"));
Assert.assertTrue(out.contains("6: 0.0, -5.0") | out.contains("6: 0.0, -4.999999999"));
Assert.assertTrue(out.contains("7: 0.0, -6.0") | out.contains("7: 0.0, -5.999999999"));
Assert.assertTrue(out.contains("8: 0.0, -7.0") | out.contains("8: 0.0, -6.999999999"));
Assert.assertTrue(out.contains("9: 0.0, -8.0") | out.contains("9: 0.0, -7.999999999"));
Assert.assertTrue(out.contains("10: 0.0, -9.0") | out.contains("10: 0.0, -8.999999999"));
Assert.assertTrue(out.contains("11: 0.0, -10.0") | out.contains("11: 0.0, -9.999999999"));
Assert.assertTrue(out.contains("12: 0.0, -10.0") | out.contains("12: 0.0, -9.999999999"));
Assert.assertTrue(out.contains("13: 0.0, -10.0") | out.contains("13: 0.0, -9.999999999"));
Assert.assertTrue(out.contains("1: 0.0, 0.0") || out.contains("1: 0.0, -0.0"));
Assert.assertTrue(out.contains("2: 0.0, -1.0") || out.contains("2: 0.0, -0.999999999"));
Assert.assertTrue(out.contains("3: 0.0, -2.0") || out.contains("3: 0.0, -1.999999999"));
Assert.assertTrue(out.contains("4: 0.0, -3.0") || out.contains("4: 0.0, -2.999999999"));
Assert.assertTrue(out.contains("5: 0.0, -4.0") || out.contains("5: 0.0, -3.999999999"));
Assert.assertTrue(out.contains("6: 0.0, -5.0") || out.contains("6: 0.0, -4.999999999"));
Assert.assertTrue(out.contains("7: 0.0, -6.0") || out.contains("7: 0.0, -5.999999999"));
Assert.assertTrue(out.contains("8: 0.0, -7.0") || out.contains("8: 0.0, -6.999999999"));
Assert.assertTrue(out.contains("9: 0.0, -8.0") || out.contains("9: 0.0, -7.999999999"));
Assert.assertTrue(out.contains("10: 0.0, -9.0") || out.contains("10: 0.0, -8.999999999"));
Assert.assertTrue(out.contains("11: 0.0, -10.0") || out.contains("11: 0.0, -9.999999999"));
Assert.assertTrue(out.contains("12: 0.0, -10.0") || out.contains("12: 0.0, -9.999999999"));
Assert.assertTrue(out.contains("13: 0.0, -10.0") || out.contains("13: 0.0, -9.999999999"));
Assert.assertTrue(out.contains("14: 0.0, 0.0") | out.contains("14: 0.0, -0.0"));
Assert.assertTrue(out.contains("15: 0.0, 1.0") | out.contains("15: 0.0, 0.999999999"));
Assert.assertTrue(out.contains("16: 0.0, 2.0") | out.contains("16: 0.0, 1.999999999"));
Assert.assertTrue(out.contains("17: 0.0, 3.0") | out.contains("17: 0.0, 2.999999999"));
Assert.assertTrue(out.contains("18: 0.0, 4.0") | out.contains("18: 0.0, 3.999999999"));
Assert.assertTrue(out.contains("19: 0.0, 5.0") | out.contains("19: 0.0, 4.999999999"));
Assert.assertTrue(out.contains("20: 0.0, 6.0") | out.contains("20: 0.0, 5.999999999"));
Assert.assertTrue(out.contains("21: 0.0, 7.0") | out.contains("21: 0.0, 6.999999999"));
Assert.assertTrue(out.contains("22: 0.0, 8.0") | out.contains("22: 0.0, 7.999999999"));
Assert.assertTrue(out.contains("23: 0.0, 9.0") | out.contains("23: 0.0, 8.999999999"));
Assert.assertTrue(out.contains("24: 0.0, 10.0") | out.contains("24: 0.0, 9.999999999"));
Assert.assertTrue(out.contains("25: 0.0, 10.0") | out.contains("25: 0.0, 9.999999999"));
Assert.assertTrue(out.contains("26: 0.0, 10.0") | out.contains("26: 0.0, 9.999999999"));
Assert.assertTrue(out.contains("14: 0.0, 0.0") || out.contains("14: 0.0, -0.0"));
Assert.assertTrue(out.contains("15: 0.0, 1.0") || out.contains("15: 0.0, 0.999999999"));
Assert.assertTrue(out.contains("16: 0.0, 2.0") || out.contains("16: 0.0, 1.999999999"));
Assert.assertTrue(out.contains("17: 0.0, 3.0") || out.contains("17: 0.0, 2.999999999"));
Assert.assertTrue(out.contains("18: 0.0, 4.0") || out.contains("18: 0.0, 3.999999999"));
Assert.assertTrue(out.contains("19: 0.0, 5.0") || out.contains("19: 0.0, 4.999999999"));
Assert.assertTrue(out.contains("20: 0.0, 6.0") || out.contains("20: 0.0, 5.999999999"));
Assert.assertTrue(out.contains("21: 0.0, 7.0") || out.contains("21: 0.0, 6.999999999"));
Assert.assertTrue(out.contains("22: 0.0, 8.0") || out.contains("22: 0.0, 7.999999999"));
Assert.assertTrue(out.contains("23: 0.0, 9.0") || out.contains("23: 0.0, 8.999999999"));
Assert.assertTrue(out.contains("24: 0.0, 10.0") || out.contains("24: 0.0, 9.999999999"));
Assert.assertTrue(out.contains("25: 0.0, 10.0") || out.contains("25: 0.0, 9.999999999"));
Assert.assertTrue(out.contains("26: 0.0, 10.0") || out.contains("26: 0.0, 9.999999999"));
}
}
}

View File

@ -40,20 +40,20 @@ public class TestRadarTurnRateAndSetAdjust extends RobocodeTestBed {
if (event.getTurnSnapshot().getTurn() == 14) {
final String out = buf.toString();
Assert.assertTrue(out.contains("1: 45.0") | out.contains("1: 44.999999999"));
Assert.assertTrue(out.contains("2: 65.0") | out.contains("2: 64.999999999"));
Assert.assertTrue(out.contains("3: 75.0") | out.contains("3: 74.999999999"));
Assert.assertTrue(out.contains("4: -15.0") | out.contains("4: -14.999999999"));
Assert.assertTrue(out.contains("5: -55.0") | out.contains("5: -54.999999999"));
Assert.assertTrue(out.contains("6: -75.0") | out.contains("6: -74.999999999"));
Assert.assertTrue(out.contains("7: 32.0") | out.contains("7: 31.999999999"));
Assert.assertTrue(out.contains("8: 17.0") | out.contains("8: 16.999999999"));
Assert.assertTrue(out.contains("9: 35.0") | out.contains("9: 34.999999999"));
Assert.assertTrue(out.contains("10: 3.0") | out.contains("10: 2.999999999"));
Assert.assertTrue(out.contains("11: -21.0") | out.contains("11: -20.999999999"));
Assert.assertTrue(out.contains("12: 75.0") | out.contains("12: 74.999999999"));
Assert.assertTrue(out.contains("13: -75.0") | out.contains("13: -74.999999999"));
Assert.assertTrue(out.contains("14: -15.0") | out.contains("14: -14.999999999"));
Assert.assertTrue(out.contains("1: 45.0") || out.contains("1: 44.999999999"));
Assert.assertTrue(out.contains("2: 65.0") || out.contains("2: 64.999999999"));
Assert.assertTrue(out.contains("3: 75.0") || out.contains("3: 74.999999999"));
Assert.assertTrue(out.contains("4: -15.0") || out.contains("4: -14.999999999"));
Assert.assertTrue(out.contains("5: -55.0") || out.contains("5: -54.999999999"));
Assert.assertTrue(out.contains("6: -75.0") || out.contains("6: -74.999999999"));
Assert.assertTrue(out.contains("7: 32.0") || out.contains("7: 31.999999999"));
Assert.assertTrue(out.contains("8: 17.0") || out.contains("8: 16.999999999"));
Assert.assertTrue(out.contains("9: 35.0") || out.contains("9: 34.999999999"));
Assert.assertTrue(out.contains("10: 3.0") || out.contains("10: 2.999999999"));
Assert.assertTrue(out.contains("11: -21.0") || out.contains("11: -20.999999999"));
Assert.assertTrue(out.contains("12: 75.0") || out.contains("12: 74.999999999"));
Assert.assertTrue(out.contains("13: -75.0") || out.contains("13: -74.999999999"));
Assert.assertTrue(out.contains("14: -15.0") || out.contains("14: -14.999999999"));
}
}
}

View File

@ -35,7 +35,7 @@ public class CompilerPreferencesDialog extends JDialog {
private CompilerProperties compilerProperties;
private JButton okButton;
private final EventHandler eventHandler = new EventHandler();
private final transient EventHandler eventHandler = new EventHandler();
private class EventHandler implements ActionListener {
public void actionPerformed(ActionEvent e) {

View File

@ -56,7 +56,8 @@ public class CompoundUndoManager extends UndoManagerWithActions {
String insertedText = event.getDocument().getText(event.getOffset(), event.getLength());
isEndCompoundEdit = insertedText.contains("\n");
} catch (BadLocationException e) {
e.printStackTrace();
LOGGER.log("context", e);
}
}

View File

@ -56,7 +56,7 @@ public class EditorPane extends JTextPane {
private final CompoundUndoManager undoManager = new CompoundUndoManager();
private final TextTool textTool = new TextTool();
private final transient TextTool textTool = new TextTool();
private JViewport viewport;
@ -68,7 +68,7 @@ public class EditorPane extends JTextPane {
DefaultCaret caret = (DefaultCaret) getCaret();
caret.setUpdatePolicy(DefaultCaret.NEVER_UPDATE);
new LineNumberArea(this);
LineHighlighter.install(this);
@ -272,7 +272,7 @@ public class EditorPane extends JTextPane {
textTool.insertString(selectionStart, newText.toString());
undoManager.markCompoundStart();
} catch (BadLocationException e) {
e.printStackTrace();
LOGGER.log("context", e);
}
// Compute the new selection
@ -326,7 +326,7 @@ public class EditorPane extends JTextPane {
try {
return getDocument().getText(start, end - start);
} catch (BadLocationException e) {
e.printStackTrace();
LOGGER.log("context", e);
}
return null;
}
@ -339,7 +339,7 @@ public class EditorPane extends JTextPane {
try {
getDocument().insertString(offset, str, a);
} catch (BadLocationException e) {
e.printStackTrace();
LOGGER.log("context", e);
}
}
@ -358,7 +358,7 @@ public class EditorPane extends JTextPane {
return;
}
} catch (BadLocationException e) {
e.printStackTrace();
LOGGER.log("context", e);
}
}
}
@ -367,7 +367,7 @@ public class EditorPane extends JTextPane {
try {
getDocument().remove(offset, len);
} catch (BadLocationException e) {
e.printStackTrace();
LOGGER.log("context", e);
}
}
}

View File

@ -140,7 +140,7 @@ public class EditorPanel extends JPanel {
rn++;
}
} catch (BadLocationException e) {
e.printStackTrace();
LOGGER.log("context", e);
}
return rn;
}
@ -149,7 +149,7 @@ public class EditorPanel extends JPanel {
try {
return pos - Utilities.getRowStart(editor, pos) + 1;
} catch (BadLocationException e) {
e.printStackTrace();
LOGGER.log("context", e);
}
return -1;
}

View File

@ -78,7 +78,7 @@ public class EditorThemeConfigDialog extends JDialog {
private ColorAndStyle annotationTextColorAndStyle;
private ColorAndStyle commentTextColorAndStyle;
private final EventHandler eventHandler = new EventHandler();
private final transient EventHandler eventHandler = new EventHandler();
public EditorThemeConfigDialog(JFrame owner) {
super(owner, true);

View File

@ -762,7 +762,7 @@ public class JavaDocument extends StyledDocument {
performSyntaxHighlighting(force);
updateSyntaxHighlightingEDTidle = true;
} catch (BadLocationException e) {
e.printStackTrace();
LOGGER.log("context", e);
}
}
});

View File

@ -121,7 +121,7 @@ public final class LineHighlighter {
};
private static EditorThemePropertyChangeAdapter editorThemePropertyChangeListener = new EditorThemePropertyChangeAdapter() {
public void onHighlightedLineColorChanged(Color newColor) {
public void static onHighlightedLineColorChanged(Color newColor) {
if (!color.equals(newColor)) {
color = newColor;
}

View File

@ -31,7 +31,7 @@ import net.sf.robocode.ui.editor.theme.EditorThemePropertyChangeAdapter;
@SuppressWarnings("serial")
public class LineNumberArea extends JTextArea {
private final DocumentListener documentListener = new TextDocumentListener();
private final transient DocumentListener documentListener = new TextDocumentListener();
public LineNumberArea(JTextComponent textComponent) {
super("1");

View File

@ -55,7 +55,7 @@ public class RobocodeEditor extends JFrame implements Runnable, IRobocodeEditor
private FindReplaceDialog findReplaceDialog;
private ReplaceAction replaceAction;
final EventHandler eventHandler = new EventHandler();
final transient EventHandler eventHandler = new EventHandler();
class EventHandler implements ComponentListener {
public void componentMoved(ComponentEvent e) {}

View File

@ -30,7 +30,7 @@ import java.awt.event.KeyEvent;
public class RobocodeEditorMenuBar extends JMenuBar {
private final RobocodeEditor editor;
private final EventHandler eventHandler = new EventHandler();
private final transient EventHandler eventHandler = new EventHandler();
private class EventHandler implements ActionListener {
public void actionPerformed(ActionEvent e) {

View File

@ -26,8 +26,8 @@ import javax.swing.undo.UndoManager;
@SuppressWarnings("serial")
public class UndoManagerWithActions extends UndoManager {
private Action undoAction = new UndoAction();
private Action redoAction = new RedoAction();
private transient Action undoAction = new UndoAction();
private transient Action redoAction = new RedoAction();
public UndoManagerWithActions() {
super();

View File

@ -68,7 +68,7 @@ public class BattleView extends Canvas {
private final int groundTileWidth = 64;
private final int groundTileHeight = 64;
private Image groundImage;
private transient Image groundImage;
// Draw option related things
private boolean drawRobotName;
@ -80,7 +80,7 @@ public class BattleView extends Canvas {
private int numBuffers = 2; // defaults to double buffering
private RenderingHints renderingHints;
private transient RenderingHints renderingHints;
// Fonts and the like
private Font smallFont;
@ -90,7 +90,7 @@ public class BattleView extends Canvas {
private final ISettingsManager properties;
private final IWindowManagerExt windowManager;
private BufferStrategy bufferStrategy;
private transient BufferStrategy bufferStrategy;
private final GeneralPath robocodeTextPath = new RobocodeLogo().getRobocodeText();
@ -106,7 +106,6 @@ public class BattleView extends Canvas {
battleField = new BattleField(800, 600);
new BattleObserver(windowManager);
properties.addPropertyListener(new ISettingsListener() {
public void settingChanged(String property) {

View File

@ -33,7 +33,7 @@ import net.sf.robocode.io.FileUtil;
*/
public class ScreenshotUtil {
private final static SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd'T'HH.mm.ss.SSS");
private final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd'T'HH.mm.ss.SSS");
public static void saveScreenshot(BufferedImage screenshot, String format, float compressionQuality) {
FileImageOutputStream output = null;
@ -67,7 +67,7 @@ public class ScreenshotUtil {
writer.write(null, image, iwp);
} catch (IOException e) {
e.printStackTrace();
LOGGER.log("context", e);
} finally {
if (writer != null) {
writer.dispose();
@ -76,7 +76,7 @@ public class ScreenshotUtil {
try {
output.close();
} catch (IOException e) {
e.printStackTrace();
LOGGER.log("context", e);
}
}
}

View File

@ -33,7 +33,7 @@ import java.util.concurrent.CopyOnWriteArrayList;
@SuppressWarnings("serial")
public class AvailableRobotsPanel extends JPanel {
private final List<ItemWrapper> availableRobots = new CopyOnWriteArrayList<ItemWrapper>();
private final transient List<ItemWrapper> availableRobots = new CopyOnWriteArrayList<ItemWrapper>();
private List<IRobotSpecItem> robotList = new CopyOnWriteArrayList<IRobotSpecItem>();
private final List<String> availablePackages = new CopyOnWriteArrayList<String>();
@ -53,7 +53,7 @@ public class AvailableRobotsPanel extends JPanel {
private final String title;
private final EventHandler eventHandler = new EventHandler();
private final transient EventHandler eventHandler = new EventHandler();
public AvailableRobotsPanel(JButton actionButton, String title, JList actionList,
RobotSelectionPanel robotSelectionPanel) {

View File

@ -26,7 +26,7 @@ import java.awt.event.ComponentListener;
public abstract class BaseScoreDialog extends JDialog {
protected final IWindowManagerExt windowManager;
private final EventHandler eventHandler = new EventHandler();
private final transient EventHandler eventHandler = new EventHandler();
protected JPanel contentPane;
protected JScrollPane scrollPane;
protected JTable table;

View File

@ -32,7 +32,7 @@ import java.io.StringWriter;
public class BattleDialog extends JFrame {
private static final long serialVersionUID = 1L;
private final BattleObserver battleObserver = new BattleObserver();
private final transient BattleObserver battleObserver = new BattleObserver();
private ConsoleScrollPane consoleScrollPane;
private ConsoleScrollPane turnSnapshotScrollPane;

View File

@ -29,7 +29,7 @@ public class ConsoleDialog extends JDialog {
private JMenu editMenu;
private JMenuItem editCopyMenuItem;
private JMenuBar consoleDialogMenuBar;
private final EventHandler eventHandler = new EventHandler();
private final transient EventHandler eventHandler = new EventHandler();
private class EventHandler implements ActionListener {
public void actionPerformed(ActionEvent e) {

View File

@ -172,7 +172,7 @@ public class MenuBar extends JMenuBar {
public void menuCanceled(MenuEvent e) {}
}
public final MenuBar.EventHandler eventHandler = new EventHandler();
public final transient MenuBar.EventHandler eventHandler = new EventHandler();
private RobocodeFrame robocodeFrame;
private final ISettingsManager properties;

View File

@ -27,7 +27,7 @@ public class NewBattleDialog extends JDialog implements WizardListener {
private final static int MAX_ROBOTS = 256; // 64;
private final static int MIN_ROBOTS = 1;
private final EventHandler eventHandler = new EventHandler();
private final transient EventHandler eventHandler = new EventHandler();
private ISettingsManager settingsManager;
private BattleProperties battleProperties;

View File

@ -38,7 +38,7 @@ public class NewBattleRulesTab extends JPanel {
private ISettingsManager settingsManager;
private BattleProperties battleProperties;
private final EventHandler eventHandler = new EventHandler();
private final transient EventHandler eventHandler = new EventHandler();
private SizeButton[] predefinedSizeButtons = {
new SizeButton(400, 400), new SizeButton(600, 400), new SizeButton(600, 600), new SizeButton(800, 600),

View File

@ -34,7 +34,7 @@ public class RcSplashScreen extends JWindow {
private JLabel splashLabel;
private JPanel splashPanel;
private JPanel splashScreenContentPane;
private Image splashImage;
private transient Image splashImage;
private final String version;
private final transient WindowListener eventHandler = new WindowAdapter() {

View File

@ -54,8 +54,8 @@ public class RobocodeFrame extends JFrame {
private static final Cursor BUSY_CURSOR = Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR);
private static final Cursor DEFAULT_CURSOR = Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR);
private final EventHandler eventHandler = new EventHandler();
private BattleObserver battleObserver;
private final transient EventHandler eventHandler = new EventHandler();
private transient BattleObserver battleObserver;
private final InteractiveHandler interactiveHandler;
@ -93,7 +93,7 @@ public class RobocodeFrame extends JFrame {
private final BattleView battleView;
private final MenuBar menuBar;
final List<RobotButton> robotButtons = new ArrayList<RobotButton>();
private final List<RobotButton> robotButtons = new ArrayList<RobotButton>();
public RobocodeFrame(ISettingsManager properties,
IWindowManager windowManager,
@ -724,7 +724,7 @@ public class RobocodeFrame extends JFrame {
public void windowClosed(WindowEvent e) {
if (exitOnClose) {
System.exit(0);
;
}
}
@ -947,13 +947,13 @@ public class RobocodeFrame extends JFrame {
boolean dispTps = properties.getOptionsViewTPS();
boolean dispFps = properties.getOptionsViewFPS();
if (dispTps | dispFps) {
if (dispTps || dispFps) {
title.append(", ");
if (dispTps) {
title.append(tps).append(" TPS");
}
if (dispTps & dispFps) {
if (dispTps && dispFps) {
title.append(", ");
}
if (dispFps) {

View File

@ -39,7 +39,7 @@ public class RobotButton extends JButton implements ActionListener {
private final IWindowManagerExt windowManager;
private final IBattleManager battleManager;
private final BattleObserver battleObserver = new BattleObserver();
private final transient BattleObserver battleObserver = new BattleObserver();
private final IRobotDialogManager dialogManager;
private RobotDialog robotDialog;
private String name;

View File

@ -39,7 +39,7 @@ public class RobotDescriptionPanel extends JPanel {
private final static String BLANK_STRING = " ";
private final EventHandler eventHandler = new EventHandler();
private final transient EventHandler eventHandler = new EventHandler();
private class EventHandler implements ActionListener {
public void actionPerformed(ActionEvent e) {

View File

@ -51,7 +51,7 @@ public class RobotDialog extends JFrame {
private boolean grayGreenButton;
private final Map<String, String> debugProperties = new HashMap<String, String>();
private final BattleObserver battleObserver = new BattleObserver();
private final transient BattleObserver battleObserver = new BattleObserver();
private final IWindowManager windowManager;
private final IBattleManager battleManager;

View File

@ -43,11 +43,11 @@ public class RobotExtractor extends JDialog implements WizardListener {
private RobotSelectionPanel robotSelectionPanel;
public byte buf[] = new byte[4096];
private StringWriter output;
private transient StringWriter output;
private final IWindowManager windowManager;
private final IRepositoryManager repositoryManager;
private final EventHandler eventHandler = new EventHandler();
private final transient EventHandler eventHandler = new EventHandler();
class EventHandler implements ActionListener {
public void actionPerformed(ActionEvent e) {

View File

@ -34,7 +34,7 @@ public class TeamCreator extends JDialog implements WizardListener {
private final int minRobots = 2;
private final int maxRobots = 10;
private final EventHandler eventHandler = new EventHandler();
private final transient EventHandler eventHandler = new EventHandler();
class EventHandler implements ActionListener {
public void actionPerformed(ActionEvent e) {

View File

@ -25,7 +25,7 @@ public class WizardCardPanel extends JPanel implements Wizard {
private CardLayout cardLayout = null;
private int currentIndex = 0;
private final WizardListener listener;
private final EventHandler eventHandler = new EventHandler();
private final transient EventHandler eventHandler = new EventHandler();
public class EventHandler implements ContainerListener {
public void componentRemoved(ContainerEvent e) {}

View File

@ -23,7 +23,7 @@ import java.awt.event.ActionListener;
@SuppressWarnings("serial")
public class WizardController extends JPanel implements ChangeListener {
private final EventHandler eventHandler = new EventHandler();
private final transient EventHandler eventHandler = new EventHandler();
private JButton backButton;
private JButton nextButton;

View File

@ -24,7 +24,7 @@ public class WizardTabbedPane extends JTabbedPane implements Wizard {
private WizardController wizardController;
private int currentIndex = 0;
private final WizardListener listener;
private final EventHandler eventHandler = new EventHandler();
private final transient EventHandler eventHandler = new EventHandler();
public class EventHandler implements ContainerListener, ChangeListener {
public void componentRemoved(ContainerEvent e) {}

View File

@ -81,7 +81,7 @@ class ColorUtil {
float H, S;
if (delta == 0) { // This is a gray, no chroma...
if (!delta) { // This is a gray, no chroma...
H = 0;
S = 0;
} else { // Chromatic data...

View File

@ -167,9 +167,9 @@ public class FilenamePanel extends WizardPanel {
// Immediately reasserts the exception by interrupting the caller thread itself
Thread.currentThread().interrupt();
e.printStackTrace();
LOGGER.log("context", e);
} catch (InvocationTargetException e) {
e.printStackTrace();
LOGGER.log("context", e);
}
}

View File

@ -275,10 +275,7 @@ public class PackagerOptionsPanel extends WizardPanel {
e.getWindow().dispose();
}
@Override
public void windowClosed(WindowEvent e) {
System.exit(0);
}
});
try {
@ -287,9 +284,9 @@ public class PackagerOptionsPanel extends WizardPanel {
// Immediately reasserts the exception by interrupting the caller thread itself
Thread.currentThread().interrupt();
e.printStackTrace();
LOGGER.log("context", e);
} catch (InvocationTargetException e) {
e.printStackTrace();
LOGGER.log("context", e);
}
}

View File

@ -51,7 +51,7 @@ public class RobotPackager extends JDialog implements WizardListener {
private final IRepositoryManager repositoryManager;
private final IWindowManager windowManager;
private final EventHandler eventHandler = new EventHandler();
private final transient EventHandler eventHandler = new EventHandler();
private class EventHandler implements ActionListener {
public void actionPerformed(ActionEvent e) {