Competitive Robot

The goal of this assignment is to design and implement a competitive robot that should beat Walls, RamFire, SpinBot, Crazy, Fire, Corners, Tracker and SittingDuck.
Basically, the strategy of movement for my robot is to move in a diamond shape. It goes to the left middle point, then goes to upper middle, then goes to right wall middle, final goes to the bottom middle and move in this same strategy again and again. Once the robot scan an enemy, it will fire based on the distance, the farther, and the less power it fire. That is because the farther, the more chances to get missed, therefore use less power to shoot further object we can save energy in that case.
My robot can reliably beat SittingDuck and Crazy. But for other robots, the results are: 75% beat Walls, 72% beat SpinBot, 70% beat Fire, 45% beat Tracker, 64% beat RamFire, 84% beat Corners.
From this project, we also learned something new called Junit. Junit is very useful and powerful. It can eventually save our work and time.  For example, I can write the acceptance for each sample robot to see the results in just seconds, rather than running the robot window and watch the battle.
Though my competitive robot is not really competitive since it cannot beat all the samples, I did learn a lot from this assignment, such as robot behavior, strategy of movement, aim at enemy etc. It was a fun process.