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),AIRSPC(2) DATA AIRDSP / "=",">" / DATA AIRSPC / 2*SPACE / PRL(2) = 2 CALL UVT100(CUP,AIRX,AIRY) #BLANK OUT WHERE AIRPLANE WAS CALL GETADR(PRL,AIRSPC) CALL WTQIO(IOWVB,5,2,,,PRL) AIRY = AIRY + 1 #MOVE IT ONE TO THE RIGHT IF (AIRY > 39) [ #TEST IF OFF EDGE OF SCREEN AIRACT = 0 PRL(2) = 1 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 ] PRL(2) = 1 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 CALL GETADR(PRL,AIRDSP) CALL WTQIO(IOWVB,5,2,,,PRL) PRL(2) = 1 RETURN END