More information:
1. Have had a look at robocode source — when you don't call execute yourself, robocode will call that for you every round, which is theoretically the same as while(true){execute();}
.
2. I call rescan instead of execute to fix some missed scan bugs.