View source for User talk:Gertjan96
- [View source↑]
- [History↑]
Contents
Thread title | Replies | Last modified |
---|---|---|
Simple robot - improvements, help wanted? | 3 | 06:14, 19 June 2014 |
Simple robot - looking for improvements | 1 | 20:59, 17 June 2014 |
Hello,
I have to hand my teacher the robotcode code for my robot next wednesday. It doesn't have to be a very difficult robot, so I have made this robot today. Against the sample robots, it wins against the most of them, but not all of them.
Is there anyone who can help me to improve this code? Here is the code:
package MyRobots;
import robocode.*;
import java.awt.Color;
public class Fireintheass extends AdvancedRobot
{
double distance = 10;
public void run() {
setColors(Color.pink, Color.pink, Color.pink, Color.white, Color.pink);
setAdjustRadarForGunTurn(true);
setTurnRadarRight(360);
while(true) {
ahead(distance + 100);
back(distance);
}
}
public void onScannedRobot(ScannedRobotEvent e) {
turnRight(e.getBearing());
distance = e.getDistance();
if (e.getVelocity() == 0)
{
fire(3);
}
setTurnRadarRight(360);
}
}
You do not have permission to edit this page, for the following reasons:
You can view and copy the source of this page.
Return to Thread:User talk:Gertjan96/Simple robot - improvements, help wanted?/reply (3).
Hello,
I made a simple but (I hope) effective robot. I don't have much experience, so I would love to get any tips on how to further improve this code. It has to be ready in 3,5 hours. Lots of thanks.
package MyRobots;
import robocode.*;
import java.awt.Color;
public class Fireintheass extends AdvancedRobot
{
double distance = 10;
public void run() {
setColors(Color.pink, Color.pink, Color.pink, Color.white, Color.pink);
setAdjustRadarForGunTurn(true);
setTurnRadarRight(360);
while(true) {
ahead(distance + 100);
back(distance);
}
}
public void onScannedRobot(ScannedRobotEvent e) {
turnRight(e.getBearing());
distance = e.getDistance();
if (e.getVelocity() == 0)
{
fire(3);
}
setTurnRadarRight(360);
}
}
A few things I suggest changing:
- Make the forward and back based on a single variable, which you change the value of once every so often (say once every 20 ticks). You can then also change direction for things like hitting a wall, which will help you keep moving.
- Try using a lower bullet power if they are far away. Also, if they are really close, you can fire even if they aren't moving because they won't move enough in time.
- Try using a proper radar lock instead of just spinning - check out One_on_One_Radar#The_Infinity_Lock.
- I don't see anything which is actually turning the gun towards the enemy. Take a look at Linear_Targeting#Example_of_Noniterative_Linear_Targeting for some code which should give you a major edge against any of the sample bots.
It's a pity you don't have a few weeks to work on this, because then you could set your sights above just beating the sample bots =)