calling execute() every tick
That execute() was just an instance of me trying to stop the do-nothing-this-round bug. When deBroglie does nothing on a round, the radar isn't spinning.. despite the infinite radar spin in run().. yet onSkippedTurn is still never triggered.
I don't have any calls to execute(). Everything is in onScannedRobot()
Question: in a 1v1 match, can onScannedRobot trigger more than once? That right there might be a source of some of my problems.
deBroglie's structure would allow a movement(), gun(), execute() loop in run().. and just update the Universe object in onScannedRobot. I think some of my bullet/wave code would need tweaking because the gun and movement might be operating on a one-tick-old Universe.. but I think that can be dealt with.