/* scanner */ int angle, range, d; main() { int la; angle = 0; d = damage (); while(1) { sweep (); } } sweep () { while (1) { if (d != damage()) { d = damage(); run(); } if ((range = scan(angle,5)) > 0) { if (range < 700) cannon (angle, range); if (range > 600 ) drive (angle, 100); else drive (angle, 25); angle -= 13; } angle += 5; if (angle > 360) angle -= 360; } } /* run moves off at current scan angle + 90 deg */ run() { int i; drive (angle+90, 100); angle -= 90; if (angle < 0) angle += 360; i = 50; while ((--i) && (speed ())) ; drive (angle, 100); while (speed ()) ; drive (angle, 30); }