home *** CD-ROM | disk | FTP | other *** search
- PROCEDURE blaster; {LOOK OUT!}
-
- VAR
- direction,degrees,range,speed,counter,old_damage : integer;
- distance,heading,corner_number,x,y,old_range : integer;
-
- PROCEDURE blastem(VAR degrees,range,counter:integer);
- begin
- REPEAT {until hit}
- range:=scan(degrees,5);
- IF (range<>0) THEN {anything there?}
- begin
- IF (range>=700) THEN {out of range?}
- begin
- REPEAT
- drive(degrees,100); {get'em in range!}
- distance:=scan(degrees,5);
- UNTIL distance < 700;
- drive(degrees,0);
- end;
- REPEAT {he's in range!! BLASTEM!!}
- cannon(degrees,range);
- counter:=counter+1;
- UNTIL counter>=30;
- end
- ELSE degrees:=(degrees+10) MOD 360; {increment scan direction}
- UNTIL DEAD or Winner; {make UNTIL HIT}
- end;
-
- BEGIN {Main joe}
- degrees := 5; {put in infinite loop}
- counter:=0;
- blastem(degrees,range,counter); {add movement commands after here}
- end; {for when the robot is injured}
- {preferably a random spot on screen}