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)