SUBROUTINE BOX REAL X(4),Y(4),XV(4),YV(4) COMMON /DPYBUF/ IDBUF(2000) C C C DATA X/-5.,-5.,5.,5./,Y/-4.,-6.,4.,6./, + XV/.2,-.2,.16,-.1/,YV/.1,-.3,.15,.13/ C C C CALL INIT CALL SCAL(-13.4375,-10.,13.4375,16.7) CALL APNT(-10.,-10.,0,-5) CALL LVECT(0.,20.) CALL LVECT(20.,0.) CALL LVECT(0.,-20.) CALL LVECT(-20.,0.) C C C DO 100 I=1,500 CALL SUBP(1) CALL APNT(X(1),Y(1),0,-5) CALL LVECT(X(2)-X(1),Y(2)-Y(1)) CALL LVECT(X(3)-X(2),Y(3)-Y(2)) CALL LVECT(X(4)-X(3),Y(4)-Y(3)) CALL LVECT(X(1)-X(4),Y(1)-Y(4)) CALL LVECT(X(3)-X(1),Y(3)-Y(1)) CALL APNT(X(2),Y(2),0,-5) CALL LVECT(X(4)-X(2),Y(4)-Y(2)) CALL ESUB DO 40 J=1,4 X(J) = X(J) + XV(J) Y(J) = Y(J) + YV(J) IF (X(J).LE.-10.) GOTO 10 IF (X(J).LT.10.) GOTO 20 X(J) = 9.999 15 XV(J) = -XV(J) GOTO 20 10 X(J) = -9.999 GOTO 15 20 IF (Y(J).LE.-10.) GOTO 30 IF (Y(J).LT.10.) GOTO 5 Y(J) = 9.999 50 YV(J) = -YV(J) GOTO 5 30 Y(J) = -9.999 GOTO 50 5 CONTINUE 40 CONTINUE CALL ERAS(1) CALL CMPRS KVAL = IPOT0() IF (KVAL.NE.0) CALL SLEEP(0,0,0,KVAL) 100 CONTINUE RETURN END