Talk:SavantVS
Sounds like this bot will crush LittleBlackBook, even after my next update with tuning values specifically for new bots. My bot will only fire in 1 zone per 160 pixel unit area so unless you drift around alot in distance, I have no chance. :) --Miked0801 01:29, 17 June 2009 (UTC)
Sorry, but you seem to be right:-) It gets 78% against lbb; PBI of +48.5--CrazyBassoonist 01:34, 17 June 2009 (UTC)
- No worries, my next release has the cannot hit stop'n'go issue fixed. That'll more than make up for a few beat downs along the way :) --Miked0801 02:35, 17 June 2009 (UTC)
Source Code
I didn't see any source code attached and you said it is RWPCL. Is this your IDE fault? » Nat | Talk » 08:46, 30 July 2009 (UTC)
Sorry, I confused this robot from SavantWS, you should name your robot more explicitly. » Nat | Talk » 10:46, 30 July 2009 (UTC)
I cant find the source code for SavantVS. Could you post it up somewhere? --Khanguy 05:10, 27 May 2011 (UTC)
Hmm, it looks like the repository is still down. Here's the source:
package oog.rumble;
import robocode.*;
import robocode.util.Utils;
public class SavantVS extends AdvancedRobot {
final static String distances=""+(char)-120+(char)-80+(char)-40+(char)-0+(char)40+(char)80+(char)120;
static double hits[][]=new double[7][17];
static double oldEnergy;
static int move;
static int dir;
static int startVel;
public void run(){
dir=1;
setTurnRadarRightRadians(Double.POSITIVE_INFINITY);
}
public void onScannedRobot(ScannedRobotEvent e){
double absBearing=1000000000;
if(oldEnergy>(oldEnergy=e.getEnergy())){
startVel=8+(int)getVelocity();
for(int i=0;i<7;i++){
if(hits[i][startVel]<absBearing){
setAhead((short)distances.charAt(move=i)*dir);
absBearing=hits[i][startVel];
}
}
}
setTurnLeftRadians(Math.cos(absBearing=e.getBearingRadians()));
setTurnRadarLeftRadians(getRadarTurnRemainingRadians());
setTurnGunRightRadians(Utils.normalRelativeAngle((absBearing+=getHeadingRadians())-getGunHeadingRadians())+(e.getVelocity()*Math.sin(e.getHeadingRadians()-absBearing))/16);
setFire(2.5);
}
public void onHitByBullet(HitByBulletEvent e){
for(int i=0;i<7;i++){
hits[i][startVel]+=i==move?2:1.0/Math.abs(i-move);
}
}
public void onHitWall(HitWallEvent e){
dir=-dir;
}
}
--CrazyBassoonist 13:00, 27 May 2011 (UTC)
- [View source↑]
- [History↑]