home *** CD-ROM | disk | FTP | other *** search
- (**************************************************************************)
- (* W A R N I N G *)
- (* *)
- (* This Robot has NOT been designed to take advantage of the advanced *)
- (* features of P-ROBOTS, such as, Shields, Fuel, Teams or Obstructions. *)
- (**************************************************************************)
-
- PROCEDURE NFrank3;
-
- {
- This robot travels as follows
-
-
- |\ /|
- | \ / |
- | / |
- | / \ |
- |/ \|
-
- Frank Yetnick
- 12/9/89
- }
-
- VAR
- Deg, Dir, range : Integer;
-
- BEGIN
- Dir := Angle_To(100, 900);
- Deg := 135;
- WHILE (loc_x > 100) AND (loc_y < 900) DO {Travel to upper left corner}
- BEGIN
- range := SCAN(Deg, 10);
- IF range > 39 THEN
- BEGIN
- CANNON(Deg, range);
- CANNON(Deg, range);
- END
- ELSE
- Deg := Deg+20;
- DRIVE(Dir, 100);
- END;
-
- DRIVE(Dir, 40); {Begin to slow down}
-
- WHILE (speed > 40) DO {Slow down}
- BEGIN
- range := SCAN(Deg, 10);
- IF range > 39 THEN
- BEGIN
- CANNON(Deg, range);
- CANNON(Deg, range);
- END
- ELSE
- Deg := Deg+20;
- END;
-
- REPEAT
-
- {Go from upper left to lower right corner}
- Deg := 315;
- WHILE (loc_x < 850) AND (loc_y > 150) DO
- BEGIN
- DRIVE(315, 100);
- range := SCAN(Deg, 10);
- IF range > 39 THEN
- BEGIN
- CANNON(Deg, range);
- CANNON(Deg, range);
- END
- ELSE
- Deg := Deg+20;
- END;
-
- DRIVE(315, 40); {Begin to slow down}
-
- WHILE (speed > 40) DO {Slow down}
- BEGIN
- range := SCAN(Deg, 10);
- IF range > 39 THEN
- BEGIN
- CANNON(Deg, range);
- CANNON(Deg, range);
- END
- ELSE
- Deg := Deg+20;
- END;
-
- {Go up right side}
- Deg := 90;
- WHILE (loc_y < 850) DO
- BEGIN
- DRIVE(90, 100);
- range := SCAN(Deg, 10);
- IF range > 39 THEN
- BEGIN
- CANNON(Deg, range);
- CANNON(Deg, range);
- END
- ELSE
- BEGIN
- Deg := Deg+20;
- IF Deg > 270 THEN
- Deg := 90;
- END;
- END;
-
- DRIVE(90, 40); {Begin to slow down}
-
- WHILE (speed > 40) DO {Slow down}
- BEGIN
- range := SCAN(Deg, 10);
- IF range > 39 THEN
- BEGIN
- CANNON(Deg, range);
- CANNON(Deg, range);
- END
- ELSE
- Deg := Deg+20;
- END;
-
- {Go from upper right to lower left corner}
- Deg := 225;
- WHILE (loc_y > 150) AND (loc_x > 150) DO
- BEGIN
- DRIVE(225, 100);
- range := SCAN(Deg, 10);
- IF range > 39 THEN
- BEGIN
- CANNON(Deg, range);
- CANNON(Deg, range);
- END
- ELSE
- Deg := Deg+20;
- END;
-
- DRIVE(225, 40); {Begin to slow down}
-
- WHILE (speed > 40) DO {Slow down}
- BEGIN
- range := SCAN(Deg, 10);
- IF range > 39 THEN
- BEGIN
- CANNON(Deg, range);
- CANNON(Deg, range);
- END
- ELSE
- Deg := Deg+20;
- END;
-
- {Go up left side}
- Deg := 270;
- WHILE (loc_y < 850) DO
- BEGIN
- DRIVE(90, 100);
- range := SCAN(Deg, 10);
- IF range > 39 THEN
- BEGIN
- CANNON(Deg, range);
- CANNON(Deg, range);
- END
- ELSE
- Deg := Deg+20;
- END;
-
- DRIVE(90, 40); {Begin to slow down}
-
- WHILE (speed > 40) DO {Slow down}
- BEGIN
- range := SCAN(Deg, 10);
- IF range > 39 THEN
- BEGIN
- CANNON(Deg, range);
- CANNON(Deg, range);
- END
- ELSE
- Deg := Deg+20;
- END;
-
-
- UNTIL DEAD;
-
- END; { End NFrank3 Main }
-