Robot vs Advanced robot
I've read about the differences between a Robot and an 'advanced robot' But there is a basic thing I do not understand : Does an advanced robot has an advantage in the battle field over a similar robot, because it can perform several action in the same tick?
As i understand it, if i call ahead(..) followed by fire(), a regular robot will call ahead (and block until it is done) and then fire, while an advanced robot calling setAhead(..) and setFire() will start moving forward and will fire at the same tick, thus having an advantage over it's fellow regular robot. that sounds weird, though..
Am i wrong?
Thank you very much yoni
No, that's how it works. The only disadvantage I can think of is that Advanced robots can lose energy by hitting the wall. Personally, I find Robots boring and Advanced robots awesome, but maybe there are people who actually liked normal robots. Welcome to the wiki!
Thank you very much for the prompt reply.
So why on earth will someone write a regular robot, if a similar advanced robot will kick his ass? is it just a history thing?
The author of Robocode thought Robot would be an easier starting point for beginners. I'm not really sure it is... And as for fairness, I'm not sure he could foresee how competitive Robocode would eventually become. :-)
As for why still write one? Sometimes people like writing bots under different constraints, even if they're silly. The most popular example would be weight classes based on Code Size (Mini/Micro/NanoBots), which even got their own Rumbles. People have also written Robots, Droids (+20 energy, no radar), and Perceptual Bots (don't store any state, even between ticks). Of course, comparing such bots to DrussGT is unfair =), but that doesn't have to ruin the fun. I recently wrote a Perceptual Bot myself (RetroGirl).
Someone can write a robot just for fun. Why there are races on bicycle, when you could also ride a motorbike. Why we have code-restricted classes. Mind you, the best robot (kawigi.robot.Girl) is not easy to defeat, especially in melee. Most school competitions I know of use Robots, as it probably easier to check and control the code and its behaviour, and to prevent 'lending' code from good bots out here. For me, writing a robot is more difficult than writing an advanced robot, because it is hard to wrap my mind around what to do when and so on.
Thanks for he answer. I didn't mean for question to be offensive (as in "why should one bother to write a Robot and not an Advanced one) I just wanted to make sure i understood correctly that the Advanced indeed has more power in the battle field.