Difference between revisions of "Talk:Assertive"
Jump to navigation
Jump to search
(original code) |
RednaxelaBot (talk | contribs) m (Using <syntaxhighlight>.) |
||
Line 7: | Line 7: | ||
In case you can't find the decompiler, here it is: | In case you can't find the decompiler, here it is: | ||
− | < | + | <syntaxhighlight> |
package robar.nano; | package robar.nano; | ||
Line 52: | Line 52: | ||
} | } | ||
} | } | ||
− | </ | + | </syntaxhighlight> |
This is much like the original one yet difference from decompiled one since the decompiler can't preserve the use of static final field inside function. » <span style="font-size:0.9em;color:darkgreen;">[[User:Nat|Nat]] | [[User_talk:Nat|Talk]]</span> » 13:54, 2 May 2009 (UTC) | This is much like the original one yet difference from decompiled one since the decompiler can't preserve the use of static final field inside function. » <span style="font-size:0.9em;color:darkgreen;">[[User:Nat|Nat]] | [[User_talk:Nat|Talk]]</span> » 13:54, 2 May 2009 (UTC) |
Latest revision as of 09:33, 1 July 2010
Where can I see the source? Awesomeness 21:13, 1 May 2009 (UTC)
Decompile it if you like. It seem that HUNRobar has confused on how to pack the source in .jar. » Nat | Talk » 05:51, 2 May 2009 (UTC)
Okay. Awesomeness 13:46, 2 May 2009 (UTC)
In case you can't find the decompiler, here it is:
package robar.nano;
import robocode.*;
import robocode.util.Utils;
public class Assertive extends AdvancedRobot {
static double direction = 1D;
static StringBuffer history = new StringBuffer("00000000000000000000000000000");
static final double APPROACHANGLE = -Math.toRadians(20D);
static final double NINTYDEG = Math.PI/2;
static final double FIREPOWER = 2.5D;
static final double BULLETVEL = 12.5D;
static final int PATTERN_DEPTH = 30;
public void run()
{
setAdjustGunForRobotTurn(true);
setAllColors(java.awt.Color.red);
setTurnRadarRight(Double.POSITIVE_INFINITY);
}
public void onScannedRobot(ScannedRobotEvent e)
{
setTurnRightRadians(Utils.normalRelativeAngle(e.getBearingRadians() + NINTYDEG + APPROACHANGLE * direction));
if(getDistanceRemaining() == 0.0D)
{
direction = -direction;
setAhead(Math.random() * 144D * direction);
}
double dist = e.getDistance();
double absB = e.getBearingRadians() + getHeadingRadians();
int matchLenght = PATTERN_DEPTH;
history.insert(0, (char)(int)(Math.sin(e.getHeadingRadians() - absB) * e.getVelocity()));
int index;
while((index = history.toString().indexOf(history.substring(0, matchLenght--), 1)) < 0) ;
matchLenght = index - (int)(dist / BULLETVEL);
do
absB += Math.asin((double)(byte)history.charAt(index--) / dist);
while(index >= Math.max(0, matchLenght));
setTurnGunRightRadians(Utils.normalRelativeAngle(absB - getGunHeadingRadians()));
setFire(FIREPOWER);
setTurnRadarLeft(getRadarTurnRemaining());
}
}
This is much like the original one yet difference from decompiled one since the decompiler can't preserve the use of static final field inside function. » Nat | Talk » 13:54, 2 May 2009 (UTC)