SUBROUTINE AIRPLN # # THIS SUBROUTINE IS CALLED TO CONTROL THE AIRPLANE. ( => ) # IMPLICIT INTEGER (A-Z) INCLUDE SY:MISSIL.CMN INCLUDE SY:UVT100.DAT REAL RAN,X BYTE AIRDSP(2) DATA AIRDSP / "=",">" / CALL UVT100(CUP,AIRX,AIRY) #BLANK OUT WHERE AIRPLANE WAS DO I = 1,2 OUTBUF(LEN+I) = SPACE LEN = LEN + 2 AIRY = AIRY + 1 #MOVE IT ONE TO THE RIGHT IF (AIRY > 39) [ #TEST IF OFF EDGE OF SCREEN AIRACT = 0 RETURN ] IF (DSPLAY(AIRX,AIRY) == 1 .AND. DSPLAY(AIRX,AIRY+1) == 1) [ AIRACT = 0 #AIRPLANE DESTROYED BY MISSILE SCORE = SCORE + (100 * (WAVE/2+1)) #INCREMENT SCORE IF (SCORE >= FRESCO) [ #CHECK FOR NEW FREE CITY FRECTY = FRECTY + 1 FRESCO = FRESCO + 10000 ] RETURN ] IF (AIRY == 21) [ #DROP AIRPLANE'S BOMB DO I = 1,24 [ #IF THERE IS AN OPEN ENTRY IN IF (BMBACT(I) == 0) [ #BOMB TABLE--- BMBX(I) = AIRX #X-COORDINATE BMBY(I) = AIRY + 1 #Y-COORDINATE BMBACT(I) = 1 #BOMB ACTIVE NEXT CYCLE X = RAN(SEED) #GET RANDOM NUMBER BMBAGL(I) = (X*5) + 1 #ANGLE OF BOMB FALL BREAK ] ] ] CALL UVT100(CUP,AIRX,AIRY) #DISPLAY NEW AIRPLANE LOCATION DO I = 1,2 OUTBUF(LEN+I) = AIRDSP(I) LEN = LEN + 2 RETURN END