8-Bit Software Online Conversion

Fighter Command Game - Listing

10REM***** FCINTRO ****** 20MODE5:COLOUR130:CLS:VDU23;8202;0;0; 0;:COLOUR1 25COLOUR131:PRINTTAB(2,2)"MARLIS SOFT WARE" 27PRINTTAB(2,3)"```````````````" 30PRINTTAB(2,5)"FIGHTER COMMAND" 40PRINTTAB(2,6)"```````````````" 50PRINTTAB(3,8)"BY D.C.MARETT" 60PRINTTAB(7,10)"1987" 70PRINTTAB(4,13)"Taken from a" 80PRINTTAB(0,15)"program by R.ERSKINE " 90PRINTTAB(4,17)"for the ZX81" 100PRINTTAB(1,21)"BATTLE OF BRITAIN." 110PRINTTAB(4,25)"MICROGAMES-" 120PRINTTAB(4,27)"SIMULATIONS" 130PRINTTAB(7,29)"1981" 140FORZZ=0TO9000:NEXT 150MODE7:VDU23;8202;0;0;0; 160PRINTTAB(0,10)CHR$132CHR$157CHR$141 " Do you want instructions. (Y/N)?" 170PRINTCHR$132CHR$157CHR$141" Do you want instructions. (Y/N)?" 180A$=GET$ 190IFA$="N"THEN1030 200MODE1:VDU23;8202;0;0;0;:VDU28,3,11, 38,2:VDU24,97;50;1245;630; 210VDU19,1,7,0,0,0:VDU19,0,4,0,0,0:COL OUR0:COLOUR129:GCOL0,128:CLS:CLG 220MOVE690,420:FORP=1TO47:READX,Y:DRAW X,Y:NEXTP 230MOVE640,380:FORP=1TO4:READX,Y:DRAWX ,Y:NEXTP 240MOVE540,385:FORP=1TO3:READX,Y:DRAWX ,Y:NEXTP 250MOVE470,235:FORP=1TO8:READX,Y:DRAWX ,Y:NEXTP 260MOVE520,260:DRAW475,260:MOVE1010,34 0:FORP=1TO6:READX,Y:DRAWX,Y:NEXTP 270MOVE240,335:FORP=1TO4:READX,Y:DRAWX ,Y:NEXTP 280MOVE320,320:FORPP=1TO4 290FORP=1TO3:READX,Y:DRAWX,Y: 300NEXTP:IFPP=4THEN330 310READX,Y:MOVEX,Y 320NEXTPP 330MOVE1060,410:FORP=1TO8:READX,Y:DRAW X,Y:NEXTP 340MOVE920,320:FORP=1TO6:READX,Y:DRAWX ,Y:NEXTP 350MOVE760,305:FORP=1TO4:READX,Y:DRAWX ,Y:NEXTP 360MOVE700,300:FORP=1TO5:READX,Y:DRAWX ,Y:NEXTP 370MOVE100,100:FORP=1TO16:READX,Y:DRAW X,Y:NEXTP 380MOVE100,480:FORP=1TO11:READX,Y:DRAW X,Y:NEXTP 390MOVE100,620:FORP=1TO4:READX,Y:DRAWX ,Y:NEXTP 400MOVE630,275:FORP=1TO8:READX,Y:DRAWX ,Y:NEXTP 410MOVE600,275:FORP=1TO8:READX,Y:DRAWX ,Y:NEXTP 420MOVE860,300 430PROCcircle(860,297,10) 440PROCcircle(860,297,30) 450MOVE210,320:DRAW210,420:MOVE210,280 :DRAW210,180 460DATA680,380,930,340,960,350,980,360 ,1000,380,1050,420,1060,430,1080,440 470DATA1100,450,1120,440,1130,420,1130 ,400,1125,360,1120,320,1115,300,1100,260 480DATA1080,250,1060,240,900,235,820,2 40,700,225,660,220,580,220,540,225 490DATA470,235,400,230,340,240,240,260 ,200,280,185,290,180,295,177,297 500DATA177,300,180,305,185,310,200,320 ,240,340,300,350,400,355,500,360 510DATA505,355,510,345,520,340,615,340 ,640,370,650,385,680,380 520DATA540,385,520,380,510,370,500,360 530DATA545,375,550,365,540,340 540DATA600,300,620,315,640,320,650,320 ,660,320,680,315,700,300,820,240 550DATA1020,345,1080,345,1085,340,1080 ,335,1020,335,1010,340 560DATA245,325,250,300,245,275,240,260 570DATA320,300,340,310,320,320,340,320 ,340,300,360,310,340,320,360,320,360 580DATA300,380,310,360,320,380,320,380 ,300,400,310,380,320 590DATA1110,410,1110,380,1060,380,1060 ,410,1085,410,1085,380,1090,380,1090,410 600DATA940,320,940,280,960,280,960,260 ,920,260,920,320 610DATA760,295,790,295,790,305,760,305 620DATA700,320,740,320,740,300,720,300 ,720,290 630DATA160,120,200,100,200,110,370,110 ,370,100,370,130,540,120,680,120,700,105 640DATA730,130,900,100,920,120,970,100 ,1060,100,1110,140,1245,140 650DATA200,480,220,490,280,485,300,505 ,340,515,380,540,440,540,440,560 660DATA440,580,460,600,460,620,1245,62 0,1245,50,100,50,100,620 670DATA635,283,645,283,655,283,658,275 ,655,267,650 680DATA265,635,267,630,275,610,290,640 ,295,675,290 690DATA680,275,665,260,640,255,610,260 ,600,275 700CLS:PRINTTAB(5,2)"WELCOME TO FIGHTE R COMMAND"' 710PRINT" You are in command of 9 Squa drons" 720PRINT" which are at airfields in th e" 730PRINT" South East of England. Your task," 740PRINT" by careful use of your Squad rons,"' 750PRINTTAB(11)"PLEASE WAIT" 760PROCprop 770CLS:PRINT:PRINT" is to repel the Ge rman Luftwaffe" 780PRINT" in their attempt to bomb LON DON." 790PRINT" You can make the task eas y or" 800PRINT" hard depending on the number of" 810PRINT" bombers that are allowed to get to" 820PRINT" London before the target is deemed"' 830PRINTTAB(11)"PLEASE WAIT" 840PROCprop 850CLS:PRINT:PRINT" to be devastated. This number can" 860PRINT" be as little as 0 or greater than 100" 870PRINT" The more bombers that get to" 880PRINT" London, the less the bonus p oints" 890PRINT" at the end of the game. Ple ase"' 900PRINTTAB(11)"PLEASE WAIT" 910PROCprop 920CLS:PRINT:PRINT" follow the instruc tions in the" 930PRINT" COMMAND CHECK, by pressing a ny of" 940PRINT" the keys. Wait for the prom pt and" 950PRINT" then key in the appropriate" 960PRINT" COMMAND letter."' 970PRINTTAB(11)"PLEASE WAIT" 980PROCprop 990CLS:PRINT:PRINT" GOOD LUCK!! Rememb er that fortune" 1000PRINT" follows the brave!"''' 1010PRINTTAB(11)"PLEASE WAIT" 1020PROCprop 1030MODE7:VDU23;8202;0;0;0; 1040PRINTTAB(0,2)CHR$(132);CHR$(157);CH R$(131);CHR$(141)"FIGHTER COMMAND - Points" 1050PRINTTAB(0,3)CHR$(132);CHR$(157);CH R$(131);CHR$(141)"FIGHTER COMMAND - Points" 1060PRINTTAB(4,5)" THE POINTS ARE AS FO LLOWS:-"' 1070PRINT"ALLOWING 0 BOMBERS = 1000 0 POINTS." 1080PRINT"ALLOWING 1-5 BOMBERS = 800 0 POINTS." 1090PRINT"ALLOWING 6-20 BOMBERS = 600 0 POINTS." 1100PRINT"ALLOWING 21-40 BOMBERS = 400 0 POINTS." 1110PRINT"ALLOWING 41-60 BOMBERS = 200 0 POINTS." 1120PRINT"ALLOWING 61-80 BOMBERS = 100 0 POINTS." 1130PRINT"ALLOWING 81-99 BOMBERS = 50 0 POINTS." 1140PRINT"ALLOWING 100 + BOMBERS = 0 POINTS."' 1150PRINT" IF THE GAME IS LOST SO IS T HE BONUS."' 1160PRINT"Each bomber destroyed 20 points." 1170PRINT"Each escort destroyed 40 points." 1180PRINT"Each fighter lost - 50 points." 1190PRINT"Each bomber reaching LONDON - 10 points."' 1200PRINTTAB(5)" PRESS KEY 'C' TO CONTI NUE." 1210A$=GET$ 1220IFA$<>"C"THEN1210 1230CHAIN"FC" 1240DEFPROCcircle(XC,YC,R) 1250LOCALA,T,X,Y,AA 1260MOVEXC+R,YC 1270FORAA=0TO360STEP15 1280A=AA 1290T=RAD(A) 1300X=R*COS(T):Y=R*SIN(T) 1310DRAWXC+X,YC+Y:MOVEXC+X,YC+Y 1320NEXTAA 1330ENDPROC 1340DEFPROCprop 1350LOCALXX,YY,AA,BB,CC,DD 1360XX=210:YY=320:AA=420:BB=280:CC=180: DD=0:EE=440:FF=260:GG=110 1370MOVEXX,YY:PLOT31,XX,AA:MOVEXX,BB:PL OT31,XX,CC 1380REPEAT 1390MOVEXX,YY:PLOT31,XX,AA 1400MOVEXX,BB:PLOT31,XX,CC 1410MOVEEE,FF:PLOT31,GG,FF 1420FORZZ=0TO900:NEXT 1430MOVEXX,YY:PLOT29,XX,AA 1440MOVEXX,BB:PLOT29,XX,CC 1450MOVEEE,FF:PLOT29,GG,FF 1460FORZZ=0TO800:NEXT 1470DD=DD+1 1480UNTILDD=15 1490ENDPROC