This is the code I wrote during March 15th and March 25th 2014 to compete in the "Game of Drones" coding contest.
I made 4 versions of this code, mark1 to mark4. Yet the final code I submitted was mark3 because I wasn't satisfied by the latest iteration and I didn't have time to improve it significantly. In the end I was ranked 15th out of 621 participants - I used my old alias "Orwell".
A quick note about the code itself : I didn't try to be concise. I wanted to have full flexibility to replace any part of the AI at any time (even while running "live" if necessary), so I relied heavily on interfaces. I also avoided creating too many files for all these classes because the submission was supposed to hold into a single file and merging all these files for each submission was rather tedious.