home *** CD-ROM | disk | FTP | other *** search
- 1 GOTO100
- 2 OPEN15,8,15,"S0:ORBITAL DEFENDER":CLOSE15:SAVE"0:ORBITAL DEFENDER",8:END
- 100 REM ********************
- 110 REM * ORBITAL DEFENDER *
- 120 REM ********************
- 200 POKE53281,.:POKE53280,.:POKE53272,21:POKE657,128:POKE56,157:CLR
- 210 T$="ORBITAL DEFENDER"
- 220 PRINT"[147][158] ** "T$" **"
- 230 PRINT" PRESS RETURN TO CONTINUE[158]":X=12:Y=10:S=1
- 240 GETK$:GOSUB1560:S=ABS(S-1):PRINT"";:IFS=1THENPRINT"[146]";
- 250 FORI=1TO100:NEXT:PRINTT$:IFK$=""THEN240
- 260 IFASC(K$)<>13THEN240
- 270 REM INITIALIZE PROGRAM
- 280 PRINT"[147][158] PLEASE WAIT WHILE I PREPARE YOUR"
- 290 PRINT" SPACESHIP!"
- 300 R=RND(-1):E=110:T=E:P=90:N=90:DIM ES$(1,9):B$=" "
- 310 V1(0)=54276:V1(1)=85:V2(0)=54283:V2(1)=129:V3(0)=54290:V3(1)=129
- 320 POKE2040,11:POKE2041,13:POKE2042,14:POKE2043,14:POKE2044,15
- 330 POKE53271,8:POKE53276,49:POKE53277,8:POKE53285,0:POKE53286,6
- 340 POKE53287,2:POKE53288,2:POKE53289,2:POKE53290,2:POKE53291,0
- 350 POKE53248,172:POKE53249,174:G(0)=53256:F(0)=53250
- 360 F(1)=65:F(2)=172:F(3)=25:POKE53251,75:POKE53253,75:POKE53255,65
- 370 G(1)=64:G(2)=171:G(3)=24:POKE53257,92
- 380 POKE2045,11:POKE53258,172:POKE53259,75:POKE53292,2
- 390 FORI=1TO9:READSC$(I),ST$(I):NEXT
- 400 FORI=.TO575:READD:POKE40192+I,D:NEXT
- 410 FORI=.TO191:READD:POKE832+I,D:NEXT
- 420 FORI=.TO24:READD:POKE54272+I,D:NEXT
- 430 FORI=7TO9:ES$(0,I)=" "
- 440 ES$(1,I)=" [159] [159] [159] "
- 450 ES$(0,I-6)=" [159] [159] [159] "
- 460 ES$(1,I-6)=" ":NEXT
- 470 ES$(0,4)=" [159] [183][183][183] [159] [159] [163][163] "
- 480 ES$(0,5)=" [159][183][183][183][163][163][163][183][208] [159][207][163] [163][163][163][163][163][163] [159][163][163][163][183][183][208][175][175][175][164][164] "
- 490 ES$(0,6)=" [164][164][164][164][164][164][164][164][164][164][164][164] [164][164][164][164][164][164] "
- 500 ES$(1,6)=" [159] [159][164][164][164][175][175][175][175][164][164][164][164] [159] "
- 510 ES$(1,5)=" [159] [164][164][164][164][164][175][175][175][207] [163][163][163][163][183][183][183] [183][208][159][164] "
- 520 ES$(1,4)=" [183][183][163][163][163] [163][159][204][175][175][207][208][159][175][175] "
- 530 REM DISPLAY LEVEL OPTION SCREEN
- 540 POKE198,.
- 550 PRINT"[147] SKILL LEVEL":PRINT"[158] 0 - ROOKIE CADET"
- 560 PRINT" 1 - SPACE COOK'S ASSISTANT":PRINT" 2 - SPACE COOK"
- 570 PRINT" 3 - RADIO OPERATOR":PRINT" 4 - GUNNERY OFFICER"
- 580 PRINT" 5 - NAVIGATOR'S ASSISTANT":PRINT" 6 - NAVIGATOR"
- 590 PRINT" 7 - HELMSMAN":PRINT" 8 - CAPTAIN"
- 600 PRINT" 9 - COMMANDER":PRINT"YOUR CHOICE? ";
- 610 GETK$:IFK$=""THEN610
- 620 IFASC(K$)<48ORASC(K$)>57THEN610
- 630 PRINTK$;:M=VAL(K$)
- 640 REM SCREEN DISPLAY ROUTINE
- 650 PRINT"[147][169] [223]";
- 660 PRINT" [146] [146] [146] ";
- 670 PRINT" [146] [146] [146] ";
- 680 PRINT" [146] [146] [146] ";
- 690 PRINT" [146] [146] [146] ";
- 700 PRINT" ";
- 710 PRINT" ";
- 720 PRINT" ";
- 730 PRINT" ";
- 740 PRINT"[146][158][176][195][195][195][195][195][195][174] [178][158] [146] [158][176][195][195][195][195][195][195][174]"
- 750 PRINT"[146][194]THRUST[173][195][195][174] [194][158] [146][158] [194]CLASS:[173][195][195][174]"
- 760 PRINT"[194] [158][146][194] [194][158] WARNING! [146][158] [194] [194]"
- 770 PRINT"[194]012345678[194] [194][158] [173][195][195][195][195][195][195][195][195][195][189]"
- 780 PRINT"[173][195][195][195][195][195][195][195][195][195][189] [194][158] [169] [223][146] [171][195][195][195][195][195][195][195][195][195][179]"
- 790 PRINT"[158][176][195][195][195][195][195][195][195][174] [219][158] [152] [146][158] [176][195][195][195][195][195][174]"
- 800 PRINT"[194]SHIELDS[173][195][174] [194][158] [152] [146][158] [194]TYPE:[173][195][195][195][174]"
- 810 PRINT"[194] [146][158][194] [194][158] [152] [146][158] [194] [194]"
- 820 PRINT"[194]012345678[194] [194][158] [152] [146][158] [173][195][195][195][195][195][195][195][195][195][189]"
- 830 PRINT"[173][195][195][195][195][195][195][195][195][195][189] [194][158] [152] [146] [171][195][195][195][195][195][195][195][195][195][179]"
- 840 PRINT"[158][176][195][195][195][195][195][195][195][195][195][174] [177][158] [152] [146][158] [176][195][195][195][195][195][195][174]"
- 850 PRINT"[194]DOCK TIME[173][195][174] RADAR! [146][158] [194]ENERGY[173][195][195][195][195][174]";
- 860 PRINT"[194] [146][158][194][176][195][195][195][195][195][195][195][195][195][195][195][195][174][194] [146][158][194]";
- 870 PRINT"[194]0123456789M[194][194]RANGE: [194][194]0123456789M[194]";
- 880 PRINT"[173][195][195][195][195][195][195][195][195][195][195][195][189][173][195][195][195][195][195][195][195][195][195][195][195][195][189][173][195][195][195][195][195][195][195][195][195][195][195][189]";:PRINT"SCORE:";
- 890 REM MAIN CONTROL LOOP
- 900 POKEV2(0),V2(1)
- 910 POKE54279,P*2.5:IFINT(RND(.)*100)<5+M*2THENGOSUB1170:GOSUB1240
- 920 GOSUB1060:IFH<0THENH=0
- 930 IFINT(RND(.)*30)=25THENGOSUB1130
- 940 GOSUB1580:X=7:Y=24:GOSUB1560:PRINT""H"[157] ";
- 950 E=E-(N/200)-(P/200):IFE<=0THEN1650
- 960 X=28:Y=21:GOSUB1560
- 970 PRINT""LEFT$(B$,INT(E/10+.5))"[146]"LEFT$(B$,INT((110-E)/10+.5))
- 980 D=P/10+.5
- 990 X=1:Y=11:GOSUB1560:PRINT""LEFT$(B$,D)"[146]"LEFT$(B$,9-INT(D))
- 1000 D=N/10+.5
- 1010 Y=16:GOSUB1560:PRINT""LEFT$(B$,D)"[146]"LEFT$(B$,9-INT(D))
- 1020 T=T-(P/55)+B:Y=21:GOSUB1560
- 1030 PRINT""LEFT$(B$,INT(T/10+.5))"[146]"LEFT$(B$,INT((116-T)/10+.5))
- 1040 IFT<0THENGOSUB1780
- 1050 GOTO910
- 1060 REM SCROLL STARS
- 1070 FORI=2TO4:POKE781,I-1:SYS59888:POKE172,PEEK(60656+I)
- 1080 POKE780,PEEK(217+I):SYS59848:NEXT:Y=4:X=0:GOSUB1560
- 1090 PRINT" [146] [146] [146] [146]";
- 1100 FORI=1TO5:X=INT(RND(.)*38+1):IFX=12ORX=27THEN1120
- 1110 GOSUB1560:POKE646,RND(.)*7+1:PRINT"."
- 1120 NEXT:PRINT"[158]":RETURN
- 1130 REM SCROLL THE EARTH
- 1140 L=ABS(L-1)
- 1150 FORD=1TO7:X=0:Y=5:GOSUB1560:FORJ=D+2TODSTEP-1
- 1160 PRINTES$(L,J);:NEXT:GOSUB1060:NEXT:RETURN
- 1170 REM RADAR PICKED UP A SHIP
- 1180 S=INT(RND(.)*8+1)
- 1190 FORD=0TO42STEP21:POKEV1(0),V1(1):X=16:Y=9:GOSUB1560
- 1200 PRINT"[150][150][150][150][150][150][150][150][157][157][157][157][157][157][157][157][150][150][150][150][150][150][150][150][146]":GOSUB1060:FORJ=1TO75:NEXT
- 1210 POKEV1(0),V1(1)-1:POKE198,0
- 1220 X=16:Y=9:GOSUB1560:PRINT" [157][157][157][157][157][157][157][157] [146]"
- 1230 GOSUB1420:NEXT:RETURN
- 1240 R=INT(RND(.)*100000)+1000:R$=MID$(STR$(R),2)
- 1250 X=20:Y=22:GOSUB1560:PRINT"[158]"R$:POKE53269,PEEK(53269)OR1
- 1260 X=28:Y=11:GOSUB1560:PRINTSC$(S):Y=16:GOSUB1560:PRINTST$(S)
- 1270 REM SCAN KEYBOARD TO FIRE - FIRE CANNON
- 1280 D=0:FORJ=1TO10-M:POKEV1(0),V2(1)
- 1290 GETK$:IFK$<>" "THEN1390
- 1300 D=1:O=INT(RND(.)*3+1)
- 1310 POKE53264,0:POKEG(0),G(O):IFO=3THENPOKE53264,30
- 1320 POKE53291,5+L*14:POKE53269,PEEK(53269)OR16:POKEF(0),F(O)
- 1330 POKEF(0)+2,F(O):POKE53291,2:POKEV3(0),V3(1)
- 1340 POKE53269,PEEK(53269)OR2:POKE53269,PEEK(53269)OR4:POKEV1(0),V2(1)-1
- 1350 GOSUB1060:POKE53291,5+L*14:FORI=1TO200:NEXT
- 1360 E=E-R/50000:W(S)=W(S)+1:IFS<6THENH=H+170-20*S:GOTO1380
- 1370 H=H-S*45
- 1380 J=10-M:POKEV3(0),V3(1)-1:POKE53269,1:IFS=9THENJ=J+1
- 1390 POKEV1(0),V2(1)-1:FORDE=1TO50:NEXT:NEXT:IFS<6ANDD=0THEN1450
- 1400 X=28:Y=11:GOSUB1560:PRINT" ":Y=16:GOSUB1560:PRINT" "
- 1410 X=20:Y=22:GOSUB1560:PRINT" ":POKE53269,0:RETURN
- 1420 REM STORE PROPER SHIP DATA
- 1430 O=(S-1)*64
- 1440 FORI=0+DTO21+D:POKE704+I,PEEK(40192+I+O):NEXT:RETURN
- 1450 REM THE ALIEN SHOOTS BACK
- 1460 O=INT(RND(.)*3+1):POKE53264,0:IFO=3THENPOKE53264,14
- 1470 POKEF(0),F(O):POKEF(0)+2,F(O):POKEF(0)+4,F(O)-10
- 1480 POKE53269,PEEK(53269)OR2:FORI=1TO300:NEXT
- 1490 POKE53269,PEEK(53269)OR4:GOSUB1060:POKE53269,PEEK(53269)OR8
- 1500 FORI=1TO300:NEXT:H=H-M*50:E=E-INT(RND(.)*30)-10:N=N-INT(RND(.)*40)-5
- 1510 POKEV3(0),V3(1):POKE53280,2:POKE53281,2:POKE53265,PEEK(53265)AND239
- 1520 FORI=1TO300:NEXT
- 1530 POKE53265,PEEK(53265)OR16:POKE53281,0:POKE53280,0:POKE53269,0
- 1540 POKEV3(0),V3(1)-1:IFN<1THEN1650
- 1550 N=INT(N):P=INT(P*.6):GOTO1400
- 1560 REM PLACE CURSOR AT X,Y
- 1570 POKE781,Y:POKE782,X:POKE783,0:SYS65520:RETURN
- 1580 REM READ KEYBOARD FOR THRUST AND SHIELDS
- 1590 GETK$
- 1600 IFK$="S"THENN=N+10:IFN>90THENN=90
- 1610 IFK$="[211]"THENN=N-10:IFN<0THENN=0
- 1620 IFK$="T"THENP=P+10:IFP>90THENP=90
- 1630 IFK$="[212]"THENP=P-10:IFP<0THENP=0
- 1640 RETURN
- 1650 REM END THE GAME
- 1660 POKE53269,0:POKEV2(0),V2(1)-1:PRINT"[147]";:IFH<0THENH=0
- 1670 PRINT"[158]THE ALPHA II FLEET HAS TAKEN OVER THE"
- 1680 PRINT"EARTH! UNFORTUNATELY, THEY WERE TOO"
- 1690 PRINT"MUCH FOR YOUR EARTHLY DEFENSE SYSTEMS."
- 1700 PRINT"YOUR FINAL SCORE IS:"H
- 1710 PRINT"SHIPS DESTROYED..."
- 1720 FORI=1TO9:PRINTW(I),"_",ST$(I),SC$(I):NEXT
- 1730 FORI=1TO9:W(I)=0:NEXT
- 1740 PRINT"WOULD YOU LIKE TO PLAY AGAIN .... (Y/N)";
- 1750 GETK$:IFK$<>"Y"ANDK$<>"N"THEN1750
- 1760 IFK$="Y"THENL=0:P=90:N=P:T=110:E=T:H=L:GOTO530
- 1770 PRINT"[147]BYE":END
- 1780 REM DOCK WITH THE EARTH BASE
- 1790 S=9:GOSUB1190:R=50000:R$="50000"
- 1800 X=20:Y=22:GOSUB1560:PRINT"[158]"R$:POKE53269,PEEK(53269)OR1
- 1810 X=28:Y=11:GOSUB1560:PRINTSC$(S):Y=16:GOSUB1560:PRINTST$(S)
- 1820 FORJ=1TO11-M:POKEV1(0),V2(1)
- 1830 GETK$:IFK$<>" "THEN1850
- 1840 T=110:B=B+.25:GOTO1300
- 1850 POKEV1(0),V2(1)-1:GOSUB1060:NEXT:POKE53269,PEEK(53269)OR32
- 1860 FORI=75TO92:POKE53259,I:FORO=1TO50:NEXT:NEXT
- 1870 IFW(6)+W(7)+W(8)+W(9)<=6THEN1900
- 1880 FORI=1TO20:POKE54296,15:FORJ=1TO3:NEXT:POKE54296,0:FORO=1TO3
- 1890 NEXT:NEXT:T=110:POKE54296,15:GOTO1930
- 1900 H=H+500:E=110:T=E:P=90:N=P
- 1910 FORI=1TO3:POKEV3(0),V2(1):FORO=1TO200:NEXT:POKEV3(0),V2(1)-1
- 1920 FORO=1TO200:NEXT:NEXT
- 1930 POKE53269,0:POKE53259,75:GOTO1400
- 1940 REM DATA AND GRAPHICS FOR THE SHIPS
- 1950 DATA BASE,ALPHA II,FIGHTER,ALPHA II,FIGHTER,ALPHA II
- 1960 DATA FIGHTER,SANDIAN,FIGHTER,SANDIAN,FIGHTER,EARTH
- 1970 DATA CARGO,EARTH,PASSENGER,EARTH,BASE,EARTH
- 1980 DATA000,000,000,000,000,000,000,020
- 1990 DATA000,001,085,064,007,255,208,031
- 2000 DATA255,244,031,127,244,125,159,253
- 2010 DATA125,159,253,127,127,253,127,253
- 2020 DATA253,127,255,253,085,085,085,031
- 2030 DATA255,244,023,119,116,007,255,208
- 2040 DATA001,085,064,000,020,000,000,000
- 2050 DATA000,000,000,000,000,000,000,000
- 2060 DATA000,000,000,000,000,000,000,000
- 2070 DATA000,000,000,000,000,000,000,000
- 2080 DATA000,000,000,000,000,000,000,000
- 2090 DATA020,000,000,029,000,000,023,064
- 2100 DATA000,173,213,064,171,127,208,005
- 2110 DATA085,084,000,000,000,000,000,000
- 2120 DATA000,000,000,000,000,000,000,000
- 2130 DATA000,000,000,000,000,000,000,014
- 2140 DATA000,000,000,000,000,000,000,000
- 2150 DATA000,000,000,000,000,000,000,000
- 2160 DATA004,004,000,016,080,000,005,208
- 2170 DATA000,007,064,085,093,064,005,084
- 2180 DATA068,106,084,016,001,148,000,004
- 2190 DATA148,000,000,132,000,000,068,000
- 2200 DATA000,004,000,000,000,000,000,000
- 2210 DATA000,000,000,000,000,000,000,000
- 2220 DATA000,000,000,000,016,000,000,016
- 2230 DATA000,000,068,000,001,001,000,001
- 2240 DATA205,000,001,253,000,001,253,000
- 2250 DATA000,168,000,000,100,000,000,100
- 2260 DATA000,000,100,000,000,100,000,000
- 2270 DATA100,000,001,101,000,001,101,000
- 2280 DATA004,168,064,018,034,016,024,032
- 2290 DATA144,026,154,144,002,138,000,014
- 2300 DATA000,000,000,000,000,000,000,016
- 2310 DATA000,000,016,000,004,016,064,004
- 2320 DATA084,064,004,084,064,005,117,064
- 2330 DATA005,253,064,071,255,068,069,085
- 2340 DATA068,084,084,084,081,017,020,068
- 2350 DATA084,068,081,001,020,084,000,084
- 2360 DATA160,000,040,160,000,040,160,000
- 2370 DATA040,032,000,032,000,000,000,000
- 2380 DATA000,000,000,000,000,000,000,016
- 2390 DATA000,000,016,000,000,116,000,000
- 2400 DATA048,000,000,168,000,000,168,000
- 2410 DATA000,116,000,000,220,000,000,116
- 2420 DATA000,001,253,000,001,205,000,037
- 2430 DATA221,096,037,205,096,033,153,032
- 2440 DATA001,137,000,000,136,000,000,136
- 2450 DATA000,000,000,000,000,000,000,000
- 2460 DATA000,000,000,000,080,000,000,080
- 2470 DATA000,001,244,000,001,244,000,007
- 2480 DATA253,000,007,093,000,007,253,000
- 2490 DATA007,093,000,087,093,080,103,253
- 2500 DATA144,103,093,144,103,253,144,103
- 2510 DATA093,144,103,093,144,103,093,144
- 2520 DATA103,253,144,103,093,144,103,253
- 2530 DATA144,085,165,080,080,160,080,000
- 2540 DATA000,000,000,000,000,000,000,000
- 2550 DATA000,000,000,000,000,000,000,000
- 2560 DATA000,000,000,000,000,064,000,000
- 2570 DATA064,000,000,080,000,000,069,084
- 2580 DATA000,064,001,000,076,204,080,106
- 2590 DATA170,164,085,085,085,000,080,000
- 2600 DATA085,084,000,000,000,000,000,000
- 2610 DATA000,000,000,000,000,000,000,000
- 2620 DATA000,000,000,000,000,000,000,000
- 2630 DATA000,000,020,000,001,085,064,005
- 2640 DATA255,080,021,085,084,090,170,165
- 2650 DATA085,085,085,000,020,000,000,020
- 2660 DATA000,021,085,084,000,020,000,000
- 2670 DATA020,000,085,085,085,090,170,165
- 2680 DATA023,255,212,005,085,080,005,065
- 2690 DATA080,004,065,016,016,000,004,255
- 2700 DATA000,000,000,000,000,000,000,000
- 2710 DATA000,000,000,000,000,000,000,000
- 2720 DATA000,000,000,000,000,000,000,000
- 2730 DATA000,036,000,000,184,000,000,126
- 2740 DATA000,000,252,000,000,058,000,000
- 2750 DATA072,000,000,000,000,000,000,000
- 2760 DATA000,000,000,000,000,000,000,000
- 2770 DATA000,000,000,000,000,000,000,000
- 2780 DATA000,000,000,000,000,000,000,000
- 2790 DATA000,000,000,000,000,000,000,000
- 2800 DATA064,000,000,134,000,002,184,000
- 2810 DATA004,254,192,005,255,032,003,255
- 2820 DATA128,003,255,128,009,255,064,006
- 2830 DATA254,064,000,058,128,000,194,000
- 2840 DATA000,004,000,000,000,000,000,000
- 2850 DATA000,000,000,000,000,000,000,000
- 2860 DATA000,008,000,000,008,000,000,008
- 2870 DATA000,000,008,000,000,008,000,000
- 2880 DATA008,000,000,008,000,000,008,000
- 2890 DATA000,008,000,000,008,000,000,008
- 2900 DATA000,000,012,000,000,012,000,000
- 2910 DATA012,000,000,012,000,000,063,000
- 2920 DATA000,012,000,000,063,000,000,063
- 2930 DATA000,000,243,192,015,204,252,016
- 2940 REM SOUND DATA
- 2950 DATA247,9,64,53,84,0
- 2960 DATA240,90,1,160,71,128
- 2970 DATA0,106,167,6,160,136
- 2980 DATA128,0,250,0,0,0,15
-