100 REM  
110 REM   BOMBER   
120 REM  
130 REM   COPYRIGHT 1983 
140 REM   APEX TRADING LTD. 
150 REM  
160 GOSUB 1890
170 RANDOMIZE
180 CALL SCREEN(8)
190 GOTO 940
200 RR=INT(RND*12)+OPR-6
210 IF RND>.5 THEN 220 ELSE 240
220 GOSUB 1860
230 GOTO 310
240 RC=INT(RND*12)+OPC-6
250 IF(RC>31)+(RC<1)+(RR<2)+(RR>21)THEN 310
260 CALL GCHAR(RR,RC,OLC)
270 CALL HCHAR(RR,RC,125)
280 CALL SOUND(50,-5,9)
290 CALL HCHAR(RR,RC,OLC)
300 IF(RR=NPR)*(RC=NPC)THEN 1410
310 RETURN
320 FOR J=1 TO LEN(M$)
330 CALL HCHAR(RW,J+Y,ASC(SEG$(M$,J,1)))
340 NEXT J
350 RETURN
360 NPC=OPC+IN
370 IF(NPC=31)*(NPR=23)THEN 1770
380 IF(NPC>32)+(NPC<3)THEN 390 ELSE 500
390 IN=-IN
400 IF IN>0 THEN 410 ELSE 430
410 CALL CHAR(130,"000090FEFF1")
420 GOTO 440
430 CALL CHAR(130,"0000097FFF08")
440 NPR=OPR+RIN
450 SC=SC+50
460 M$=STR$(SC)&" "
470 Y=12
480 GOSUB 320
490 GOTO 360
500 CALL GCHAR(NPR,NPC,X)
510 IF X=140 THEN 1590
520 CALL HCHAR(OPR,OPC,32)
530 CALL HCHAR(NPR,NPC,130)
540 OPC=NPC
550 OPR=NPR
560 RETURN
570 NBR=OBR+2
580 NBC=OBC+BIN
590 IF(NBR>24)+(NBC>32)+(NBC<3)THEN 600 ELSE 650
600 BD=0
610 NBC=1
620 NBR=24
630 CALL HCHAR(OBR,OBC,32)
640 GOTO 730
650 CALL GCHAR(NBR,NBC,X)
660 IF X=140 THEN 740
670 CALL GCHAR(NBR-1,NBC,X)
680 IF X=140 THEN 740
690 CALL HCHAR(OBR,OBC,32)
700 CALL HCHAR(NBR,NBC,58)
710 OBR=NBR
720 OBC=NBC
730 RETURN
740 CALL SCREEN(7)
750 CALL SOUND(400,-5,4)
760 CALL HCHAR(OBR,OBC,32)
770 CN=1
780 CALL GCHAR(NBR-CN,NBC,X)
790 IF X=140 THEN 800 ELSE 820
800 CN=CN+1
810 GOTO 780
820 CALL SCREEN(8)
830 CALL VCHAR(NBR-CN+1,NBC,141,CN)
840 SC=SC+10*CN
850 BD=0
860 CALL SCREEN(7)
870 CALL SOUND(400,-5,4)
880 CALL VCHAR(NBR-CN+1,NBC,32,CN)
890 M$=STR$(SC)&" "
900 Y=12
910 GOSUB 320
920 CALL SCREEN(8)
930 GOTO 730
940 CALL CHAR(125,"002A7C3E7C3E54")
950 CALL COLOR(12,7,1)
960 CALL CHAR(130,"0000097FFF08")
970 CALL CHAR(140,"FF9999FFFF9999FF")
980 CALL CHAR(141,"AA55AA55AA55AA55")
990 CALL CHAR(142,"FFFFFFFFFFFFFFFF")
1010 CALL COLOR(14,13,1)
1020 CALL COLOR(13,5,1)
1040 CALL CLEAR
1050 OPC=31
1060 OPR=2
1070 NBR=2
1080 NBC=30
1090 BLF=120
1100 IN=-1
1110 RIN=1
1120 NPR=OPR
1130 FOR J=3 TO 32
1140 ST=INT(RND*5+18)
1150 CALL VCHAR(ST,J,140,24-ST)
1160 NEXT J
1170 M$="SCORE = "&STR$(SC)
1180 Y=4
1190 RW=1
1200 GOSUB 320
1210 M$="BOMBS = "&STR$(BLF)
1220 Y=17
1230 GOSUB 320
1240 GOSUB 360
1250 GOSUB 200
1260 ON BD+1 GOSUB 1860,570
1270 IF BD=1 THEN 1400
1280 CALL KEY(0,KY,ST)
1290 IF KY=32 THEN 1300 ELSE 1400
1300 IF BLF<1 THEN 1400
1310 CALL SOUND(100,220,6)
1320 BD=1
1330 BLF=BLF-2
1340 M$=STR$(BLF)&" "
1350 Y=25
1360 GOSUB 320
1370 OBR=OPR
1380 BIN=IN
1390 OBC=OPC
1400 GOTO 1240
1410 CALL SOUND(800,-6,2)
1420 CALL SOUND(800,-7,2)
1430 HTS=HTS+1
1440 IF HTS<3 THEN 310
1450 CALL CHAR(135,"3830307830303020")
1460 CALL CHAR(144,"00100008100008")
1470 CALL HCHAR(NPR,NPC,125)
1480 CALL SOUND(500,-5,2)
1490 CALL HCHAR(NBR,NBC,32)
1500 SND=700
1510 CALL SOUND(-220,SND,6)
1520 SND=SND-20
1530 NPR=OPR+1
1540 CALL HCHAR(NPR,OPC,135)
1550 CALL HCHAR(OPR,OPC,144)
1560 IF NPR>22 THEN 1590
1570 OPR=NPR
1580 GOTO 1510
1590 CALL SOUND(900,-7,2)
1600 CALL SCREEN(7)
1610 M$="Y O U    C R A S H E D !"
1620 Y=4
1630 RW=12
1640 CALL SOUND(1000,-6,2)
1650 GOSUB 320
1660 CALL SCREEN(8)
1670 IF SC>HIS THEN 1680 ELSE 1690
1680 HIS=SC
1690 PRINT: :"YOUR SCORE =";SC: :
1700 PRINT "HIGH SCORE =";HIS: :
1710 INPUT "PLAY AGAIN? ":Q$
1720 IF(SEG$(Q$,1,1)="N")+(SEG$(Q$,1,1)="n")THEN 1850
1730 SC=0
1740 HTS=0
1750 BD=0
1760 GOTO 960
1770 FOR J=220 TO 640 STEP 20
1780 CALL SOUND(50,J,2)
1790 NEXT J
1800 M$="Y O U ' V E    L A N D E D !"
1810 RW=12
1820 Y=3
1830 GOSUB 320
1840 GOTO 1710
1850 END
1860 FOR J=1 TO 20
1870 NEXT J
1880 RETURN
1890 CALL CLEAR
1900 CALL SCREEN(8)
1910 PRINT "BOMBER": :
1920 PRINT "your plane is faced with a  desperate fuel shortage.": :
1930 PRINT "as you circle down towards  the ground you must bomb    away the skyscrapers below"
1940 PRINT "to form a runway!": :
1950 PRINT "release your bombs by       pressing the space-bar.": :
1960 PRINT "buildings are demolished    more quickly if hit at theirbase.": :
1970 PRINT "the game ends if you crash  into a building or are hit  three times by anti-aircraftfire.": :
1980 INPUT "press enter to start":NUL$
1990 RETURN
