SUBROUTINE BULLET # # THIS SUBROUTINE CONTROLS THE MOTION OF A BULLET ON THE SCREEN. # IT CALLS BULCOL TO TEST FOR AND CONTROL COLLISIONS WITH TARGETS. # IMPLICIT INTEGER (A-Z) INCLUDE SY:CNTPED.CMN INCLUDE SY:UVT100.DAT CALL BULCOL #CHECK FOR COLLISIONS IF (BULACT == 0) #BULLET HAS HIT SOMETHING RETURN # # BLANK OUT OLD BULLET LOCATION AND MOVE BULLET UP ONE SPACE # CALL UVT100(CUP,BULX,BULY) OUTBUF(LEN+1) = SPACE LEN = LEN + 1 BULX = BULX - 1 IF (BULX < TMAR) [ #BULLET OFF TOP OF SCREEN BULACT = 0 RETURN ] CALL BULCOL #CHECK FOR COLLISIONS AT NEW LOC. # # IF BULLET HAS COLLIDED WITH SOMETHING, RETURN. # OTHERWISE DISPLAY BULLET AT NEW LOCATION. # IF (BULACT != 0) [ CALL UVT100(CUP,BULX,BULY) OUTBUF(LEN+1) = BULCHR LEN = LEN + 1 ] RETURN END