/* boxer robot program */ /* this program releys on defense. The robot runs around in a box, maintaining a speed of 100 as much as possible. This makes it hard to hit. For offense, it scans to the center of the field and fires at anything it sees. Additionaly it will scan and fire ahead and behind. */ int mode ; /* direction we are moving */ int d ; main() { mode = 0 ; drive(0,100) ; while(1) { if(speed() < 10) /* in case of collision */ if(mode) { mode = 0 ; drive(0,100) ; } else { mode = 1 ; drive(90,100) ; } if(mode == 0) /* check mode, for direction to scan and to move */ { if(loc_x() > 920) { drive(0,0) ; while(speed() > 49) mode = 0 ; mode = 1 ; drive(90,100) ; } if((d = scan(90,5)) > 41) if(d < 701) cannon(90,d) ; if((d = scan(180,5)) > 41) if(d < 701) cannon(180,d) ; if((d = scan(90,5)) > 41) if(d < 701) cannon(90,d) ; if((d = scan(0,5)) > 41) if(d < 701) cannon(0,d) ; } else if(mode == 1) { if(loc_y() > 920) { drive(0,0) ; while(speed() > 49) mode = 1 ; mode = 2 ; drive(180,100) ; } if((d = scan(180,5)) > 41) if(d < 701) cannon(180,d) ; if((d = scan(270,5)) > 41) if(d < 701) cannon(270,d) ; if((d = scan(180,5)) > 41) if(d < 701) cannon(180,d) ; if((d = scan(90,5)) > 41) if(d < 701) cannon(90,d) ; } else if(mode == 2) { if(loc_x() < 80) { drive(0,0) ; while(speed() > 49) mode = 2 ; mode = 3 ; drive(270,100) ; } if((d = scan(270,5)) > 41) if(d < 701) cannon(270,d) ; if((d = scan(0,5)) > 41) if(d < 701) cannon(0,d) ; if((d = scan(270,5)) > 41) if(d < 701) cannon(270,d) ; if((d = scan(180,5)) > 41) if(d < 701) cannon(180,d) ; } else if(mode == 3) { if(loc_y() < 80 || rand(1000) == 37) { drive(0,0) ; while(speed() > 49) mode = 3 ; mode = 0 ; drive(0,100) ; } if((d = scan(0,5)) > 41) if(d < 701) cannon(0,d) ; if((d = scan(90,5)) > 41) if(d < 701) cannon(90,d) ; if((d = scan(0,5)) > 41) if(d < 701) cannon(0,d) ; if((d = scan(270,5)) > 41) if(d < 701) cannon(270,d) ; } } }