home *** CD-ROM | disk | FTP | other *** search
- 10 REM STAR BATTLE
- 20 REM SET UP
- 25 GOSUB 1002
- 26 GOSUB 3050
- 30 PRINT"[147]":POKE 53280,0:POKE 53281,0
- 35 GOSUB 350
- 40 PRINT"[145][213][195][195][195][195][195][195][195][195][195][195][195][195][195][195][158]STAR[195][178][195][158]BATTLE[195][195][195][195][195][195][195][195][195][195][195][201]"
- 41 PRINT"[145][194] A-PHASARS: [194] A-PHASARS: [194]"
- 42 PRINT"[145][194] [156]B-PHOTONS: [194] [156]B-PHOTONS: [194]"
- 43 PRINT"[145][194] SHEILDS: [176][195][177][195][174] SHEILDS: [194]"
- 44 PRINT"[145][194] ENERGY : [194] ^ [194] ENERGY : [194]"
- 60 PRINT"[145][171][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][177][195]N[195][177][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][179]"
- 70 FORX=1TO15:PRINT"[145][194]"SPC(38)"[194]":NEXT
- 80 PRINT"[145][171][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][178][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][179]"
- 90 PRINT:PRINT"[145][202][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][177][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195]"
- 100 POKE 1024+959,75:POKE 55296+959,1:GOSUB301
- 101 S=54272:FORX=STOS+24:POKEX,0:NEXT:POKES+5,17:POKES+6,128
- 102 POKES,0:POKES+12,17:POKES+13,241:POKES+7,0:GOSUB 301
- 104 REM ********** PLAYER #1 **********
- 108 PRINT""
- 109 PRINTTAB(23)"[145] "
- 110 PRINTTAB(3):INPUT"[145][156]FIRE ";A$
- 120 IF A$<>"Y" THEN 160
- 129 PRINTTAB(3):INPUT"[145][156]A--B ";B$:PRINT""
- 130 IFB$="A"THENB=66:Z=A1:ZZ=AI:D=D3:P1=P1-1:P=P1:GOSUB407:GOTO160
- 135 IF B$="B" THEN B=46:Z=A1:ZZ=AI:D=D3:H1=H1-1:PP=H1:GOSUB 407:GOTO 160
- 140 GOTO 129
- 160 PRINT"":PRINTTAB(3):INPUT"[156]DIRE ";C$
- 166 IF C$="Z" THEN D1=87:D3=-41
- 167 IF C$="X" THEN D1=88:D3=-39
- 168 IF C$="C" THEN D1=86:D3=39
- 169 IF C$="V" THEN D1=89:D3=41
- 170 IF C$="N" THEN D1=33:D3=-40
- 171 IF C$="S" THEN D1=34:D3=40
- 172 IF C$="W" THEN D1=35:D3=-1
- 173 IF C$="E" THEN D1=36:D3=1
- 174 IF C$="O" THEN PRINTTAB(3)"[145] ":GOTO 190
- 180 PRINTTAB(3):INPUT "[145][156]DIST ";I$:PRINT""
- 181 I1=VAL(I$):IF I1<0 OR I1>SSTHENPRINT"[145][145]":GOTO180
- 182 D=D3:GOSUB 370
- 183 POKE A1,D1:POKE AI,C1
- 188 REM ********** PLAYER #2 **********
- 190 PRINT"":PRINTTAB(23):INPUT"[145]FIRE ";D$
- 200 IF D$<>"Y" THEN GOTO 240
- 209 PRINTTAB(23):INPUT"[145]A--B ";E$:PRINT""
- 210 IFE$="A"THENB=66:Z=A2:ZZ=AO:D=D4:P2=P2-1:P=P2:GOSUB407:GOTO240
- 220 IF E$="B" THEN B=46:Z=A2:ZZ=AO:D=D4:H2=H2-1:PP=H2:GOSUB407:GOTO240
- 230 GOTO 209
- 240 PRINT"":PRINTTAB(23):INPUT"[145]DIRE ";F$
- 246 IF F$="Z" THEN D2=91:D4=-41
- 247 IF F$="X" THEN D2=92:D4=-39
- 248 IF F$="C" THEN D2=90:D4=39
- 249 IF F$="V" THEN D2=93:D4=41
- 250 IF F$="N" THEN D2=37:D4=-40
- 251 IF F$="S" THEN D2=38:D4=40
- 252 IF F$="W" THEN D2=39:D4=-1
- 253 IF F$="E" THEN D2=40:D4=1
- 254 IF F$="O" THEN PRINTTAB(23)"[145] ":GOTO 104
- 260 PRINTTAB(23):INPUT"[145]DIST ";I$:PRINT""
- 261 I2=VAL(I$):IF I2<0 OR I2>SP THEN PRINT"[145][145]":GOTO260
- 262 D=D4:GOSUB 390
- 264 POKE A2,D2:POKE AO,C2
- 300 GOTO 104
- 301 REM ******** UPDATE SCORES ********
- 302 IFE2<=0THENE2=00
- 303 IFE1<=0THENE1=00
- 304 IFS2<=0THENS2=00
- 305 IFS1<=0THENS1=00
- 306 IFH2<=0THENH2=00
- 307 IFH1<=0THENH1=00
- 308 IFP1<=0THENP1=00
- 309 IFP2<=0THENP2=00
- 310 PRINT"":PRINTTAB(12)"[145]";P1:PRINTTAB(32)"[145]";P2
- 320 PRINTTAB(12)"";H1:PRINTTAB(32)"[145][145]";H2
- 330 PRINTTAB(12)"[145]";S1:PRINTTAB(32)"[145]";S2
- 340 PRINTTAB(12);E1:PRINTTAB(32)"[145][145]";E2
- 345 RETURN
- 350 REM ********** INITIALIZE *********
- 353 C=INT(RND(1)*7)
- 354 FOR J=0TOC
- 355 G(J)=INT(1304+(1862-1304+1)*RND(1))
- 356 POKE G(J),43:POKEG(J)+54272,12
- 357 NEXT J
- 359 POKE A1,D1:POKE AI,C1:POKE A2,D2:POKE AO,C1
- 360 RETURN
- 369 REM ********* MOVE #1 ************
- 370 IF E1=<0 THEN E1=00:GOTO 188
- 371 IF I1=0 THEN GOTO 388
- 372 E1=E1-I1
- 373 FOR T=1TOI1
- 374 IFE1=<10THENC1=7
- 376 IFA1+D>1862ORA1+D<1265THENPOKES+24,0:RETURN
- 377 FORB=1264TO1824STEP40:IFB=A1+DTHENPOKES+24,0:RETURN
- 378 NEXTB:FORB=1303TO1863STEP40:IFB=A1+DTHENPOKES+24,0:RETURN
- 379 NEXTB
- 380 POKEA1,32:POKEAI,0
- 381 Z=A1:ZZ=AI:GOSUB900
- 382 A1=A1+D:AI=AI+D
- 383 POKES+24,15:POKES+1,50:POKES+4,33
- 385 POKEA1,D1:POKEAI,C1
- 386 FORX=1TO100:POKES+4,32:NEXTX:NEXTT
- 387 GOSUB301:POKES+24,0:RETURN
- 388 E1=E1-1:POKES+24,15:POKES+1,50:POKES+4,33:POKEA1,D1:POKEAI,C1
- 389 GOSUB301:POKES+24,0:RETURN
- 390 REM ********* MOVE #2 ************
- 391 IF E2=<0 THEN E2=00:GOTO 104
- 392 IF I2=0 THEN GOTO 405
- 393 E2=E2-I2
- 394 FORT=1TOI2:IF E2=<10 THEN C2=7
- 395 IFA2+D>1862ORA2+D<1265THENPOKES+24,0:RETURN
- 396 FORB=1264TO1824STEP40:IFB=A2+DTHENPOKES+24,0:RETURN
- 397 NEXTB:FORB=1303TO1863STEP40:IFB=A2+DTHENPOKES+24,0:RETURN
- 398 NEXTB
- 399 POKE A2,32:POKE AO,0:Z=A2:ZZ=AO:GOSUB909
- 400 POKES+24,15:POKES+1,50:POKES+4,33
- 401 A2=A2+D:AO=AO+D
- 402 POKE A2,D2:POKE AO,C2
- 403 FORX=1TO100:POKES+4,32:NEXTX:NEXTT
- 404 GOSUB 301:POKES+24,0:RETURN
- 405 E2=E2-1:POKES+24,15:POKES+1,50:POKES+4,33:POKE A2,D2:POKE AO,C2
- 406 GOSUB301:POKES+24,0:RETURN
- 407 W=0:W1=0:W2=0:GOSUB1500:IF Z=A1THENQ1=1:REM****** FIRE! ******
- 408 IF Z=A2THENQ1=2
- 409 IF PP=<-1THENRETURN
- 410 IF P=<-1THEN RETURN
- 413 FORT=WTOW1STEPW2:POKES+24,15:POKES+1,90:POKES+4,21
- 414 IF D=40ORD=1ORD=39ORD=41THEN POKEZ+D+T,B:POKEZZ+D+T,7:GOTO 416
- 415 POKE Z+D-T,B:POKEZZ+D-T,7:GOTO418
- 416 POKES+24,0:FORTT=1TO10:NEXTTT
- 417 IFD=40ORD=1ORD=39ORD=41THENPOKEZ+D+T,32:GOTO 419
- 418 POKES+24,0:FORTT=1TO10:NEXTTT:POKE Z+D-T,32
- 419 GOSUB 800
- 420 IF Q=1 THEN GOTO422
- 421 NEXTT:POKES+24,0:GOSUB301:RETURN
- 422 POKES+24,0:Q=0:GOSUB301:RETURN
- 800 REM ****** DETECTION ******
- 801 IF Q1=1THEN804
- 802 IF Q1=2THEN820
- 803 IFD<1 THEN GOTO 812
- 804 IFS2=<0ANDZ+D+T=A2THENSS1=SS1+1:GOTO930
- 805 FORJ=0TOC:IFZ+D+T=G(J)THEN GOSUB 920
- 806 NEXTJ:IFZ+D+T=A2ANDB=46THENS2=S2-INT(6+(15-6)*RND(1)):GOSUB2000:Q=1:RETURN
- 807 IFZ+D+T=A2THENS2=S2-5:GOSUB2000:Q=1:RETURN
- 808 IFZ+(D*2)+T<=1265ORZ+(D*2)+T>=1862THENQ=1:RETURN
- 809 FORV=1264TO1824STEP40:IFV=Z+(D*2)+TTHENQ=1:RETURN
- 810 NEXTV:FORV=1303TO1803STEP40:IFV=Z+(D*2)+TTHENQ=1:RETURN
- 811 NEXTV
- 812 :::IFS2=<0ANDZ+D-T=A2THENSS1=SS1+1:GOTO930
- 813 IFZ+D-T=A2ANDB=46THENS2=S2-INT(6+(15-6)*RND(1)):GOSUB2000:Q=1:RETURN
- 814 IFZ+D-T=A2THENS2=S2-5:GOSUB2000:Q=1:RETURN
- 815 FORJ=0TOC:IFZ+D-T=G(J)THEN GOSUB920
- 816 NEXTJ:IFZ+(D*2)-T<=1265ORZ+(D*2)-T>=1862THENQ=1:RETURN
- 817 FORV=1264TO1824STEP40:IFV=Z+(D*2)-TTHENQ=1:RETURN
- 818 NEXTV:FORV=1303TO1803STEP40:IFV=Z+(D*2)-TTHENQ=1:RETURN
- 819 NEXTV:RETURN
- 820 :::IFD<1THEN GOTO 829
- 821 IFS1=<0ANDZ+D+T=A1THENSS2=SS2+1:GOTO940
- 822 IFZ+D+T=A1ANDB=46THENS1=S1-INT(6+(15-6)*RND(1)):GOSUB2000:Q=1:RETURN
- 823 IFZ+D+T=A1THENS1=S1-5:GOSUB2000:Q=1:RETURN
- 824 FORJ=0TOC:IFZ+D+T=G(J)THENGOSUB920
- 825 NEXTJ:IFZ+(D*2)+T<=1265ORZ+(D*2)+T>=1862THENQ=1:RETURN
- 826 FORV=1264TO1824STEP40:IFV=Z+(D*2)+TTHENQ=1:RETURN
- 827 NEXTV:FORV=1303TO1803STEP40:IFV=Z+(D*2)+TTHENQ=1:RETURN
- 828 NEXTV
- 829 :::IFZ+D-T=A1ANDB=46THENS1=S1-INT(6+(15-6)*RND(1)):GOSUB2000:Q=1:RETURN
- 830 IFS1=<0ANDZ+D-T=A1THENSS2=SS2+1:GOTO940
- 831 IFZ+D-T=A1THENS1=S1-5:GOSUB2000:Q=1:RETURN
- 832 FORJ=0TOC:IFZ+D-T=G(J)THENGOSUB920
- 833 NEXTJ:IFZ+(D*2)-T<=1265ORZ+(D*2)-T>=1862THENQ=1:RETURN
- 834 FORV=1264TO1824STEP40:IFV=Z+(D*2)-TTHENQ=1:RETURN
- 835 FORV=1863TO1303STEP40:IFV=Z+(D*2)-TTHENQ=1:RETURN
- 836 NEXTV:IFZ+D-T=A1ANDS1=<0THENSS2=SS2+1:GOTO950
- 837 GOSUB301:RETURN
- 900 REM ****** COLLISION **********
- 905 IF A1=A2-D THEN GOTO 950
- 909 FORJ=0TOC
- 910 IF Z+D=G(J) THEN GOTO 950
- 911 NEXT J
- 912 IF A2=A1-D THEN GOTO 950
- 915 RETURN
- 920 REM ******* EXPLOSION *********
- 921 POKES+24,15:POKES+8,50:POKES+11,129:POKEG(J),41:FORF=1TO90:NEXT:POKES+8,150
- 922 POKEG(J),44:POKES+24,0:POKES+11,128:Q=1:RETURN
- 930 :POKES+24,15:POKES+8,10:POKES+11,129:POKEA2,41:POKEA2+ZZ,7:FORF=1TO100:NEXT
- 931 POKES+8,20:POKEA2,42:POKEA2+ZZ,7:FORF=1TO100:NEXT
- 932 POKES+8,200:POKEA2,44:POKEA2+ZZ,7:FORF=1TO100:NEXT
- 933 POKEA2,32:POKES+24,0:FORT=1TO500:NEXT:A$="THE FEDERATION SAVED THE GALAXY!"
- 934 GOTO3000
- 940 :POKES+24,15:POKES+8,10:POKES+11,129:POKEA1,41:POKEA1+ZZ,7:FORF=1TO100:NEXT
- 941 POKES+8,20:POKEA1,42:POKEA1+ZZ,7:FORF=1TO100:NEXT
- 942 POKES+8,200:POKEA1,44:POKEA1+ZZ,7:FORF=1TO100:NEXT
- 943 POKEA1,32:POKES+24,0:FORT=1TO500:NEXT
- 944 A$="THE KLINGONS CAPTURED THE GALAXY!":GOTO 3000
- 950 :POKES+24,15:POKES+8,10 :POKES+11,129
- 951 POKE Z+D,41:POKEZZ+D,7:FORT=1TO100:NEXT
- 952 POKES+8,20
- 953 POKE Z+D,42:POKEZZ+D,7:FORT=1TO100:NEXT
- 954 POKES+8,200
- 955 POKE Z+D,44:POKEZZ+D,7:FORT=1TO100:NEXT:POKE Z+D,32:POKES+24,0
- 957 FORT=1TO500:NEXT:A$="THE GALAXY REMAINS NEUTRAL.":GOTO 3000
- 1002 POKE53281,0:POKE53280,0:PRINT"[147]"
- 1003 FORT=1TO70
- 1004 X$="[159][158][149][151][152][153][154]":X=(10*RND(1))+1
- 1005 PRINTMID$(X$,X,1)"STAR BATTLE ";
- 1006 NEXT T
- 1007 PRINT" [176][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][174] ";
- 1008 PRINT" [194]LOADING CHARACTERS...PLEASE WAIT.[146][194] ";
- 1009 PRINT" [173][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][189] "
- 1010 POKE 56334,PEEK(56334)AND254:POKE 1,PEEK(1)AND251
- 1015 FORI=0TO2047:POKE I+12288,PEEK(I+53248):NEXT
- 1020 POKE1,PEEK(1)OR4:POKE 56334,PEEK(56334)OR1
- 1025 POKE 53272,(PEEK(53272)AND240)+12
- 1030 CK=0:FORSB=12552 TO 12647:READ AL:CK=CK+AL:POKESB,AL:NEXT
- 1031 IF CK<>8329 THEN PRINT"[147] ERROR IN DATA. LINES 1035-1046":END
- 1032 CK=0:FORSB=12976TO13039:READAL:CK=CK+AL:POKESB,AL:NEXT
- 1033 IFCK<>5798THENPRINT"[147] ERROR IN DATA. LINES 1047-1054":STOP
- 1034 FORT=1TO100:NEXTT:RETURN
- 1035 DATA 24,60,60,24,60,90,90,66
- 1036 DATA 66,90,90,60,24,60,60,24
- 1037 DATA 0,7,104,254,254,104,7,0
- 1038 DATA 0,224,22,127,127,22,224,0
- 1039 DATA 24,60,24,153,189,255,255,153
- 1040 DATA 153,255,255,189,153,24,60,24
- 1041 DATA 31,6,78,255,255,78,6,31
- 1042 DATA 248,96,114,255,255,114,96,248
- 1043 DATA 0,33,18,12,12,18,33,0
- 1044 DATA 73,42,28,127,28,42,73,0
- 1045 DATA 0,0,54,124,62,24,0,0
- 1046 DATA 193,8,106,64,8,227,8,96
- 1047 DATA 24,48,36,25,27,230,224,224
- 1048 DATA 224,224,230,27,25,36,48,24
- 1049 DATA 7,7,103,216,152,36,12,24
- 1050 DATA 24,12,36,152,216,103,7,7
- 1051 DATA 24,58,110,77,19,38,204,192
- 1052 DATA 192,204,38,19,77,110,58,24
- 1053 DATA 3,51,100,200,178,118,108,24
- 1054 DATA 24,108,118,178,200,100,51,3
- 1500 REM ****** DETERMINE SHOT ******
- 1505 IFD=40ORD=-40THENW=0:W1=160:W2=40
- 1510 IF D=1ORD=-1THENW=0:W1=4:W2=1:IFB=66THENB=67
- 1515 IFD=39THENW=0:W1=156:W2=39:IFB=66THENB=78
- 1516 IFD=-39THENW=0:W1=156:W2=39:IFB=66THENB=78
- 1517 IFD=41THENW=0:W1=164:W2=41:IFB=66THENB=77
- 1518 IFD=-41THENW=0:W1=164:W2=41:IFB=66THENB=77
- 1520 RETURN
- 1524 ,A1
- 2000 POKE A1,D1:POKEAI,C1
- 2001 POKE A2,D2:POKEAO,C2
- 2002 RETURN
- 3000 REM ******* AGAIN ********
- 3004 SA=SA+1
- 3005 PRINT"[147]":POKE53280,0:POKE53281,1
- 3010 FORT=1TO23:PRINTTAB(19)"[194]":NEXTT
- 3012 PRINT"":PRINTTAB(2)"[156]FEDERATION":PRINTTAB(22)"[145][156]KLINGON[146]"
- 3015 PRINT" PHASARS:"P1:PRINTTAB(22)"[145]PHASARS:"P2
- 3020 PRINT" PHOTONS:"H1:PRINTTAB(22)"[145]PHOTONS:"H2
- 3025 PRINT" SHEILDS:"S1:PRINTTAB(22)"[145]SHEILDS:"S2
- 3030 PRINT" ENERGY :"E1:PRINTTAB(22)"[145]ENERGY :"E2
- 3035 PRINTTAB(5)""A$
- 3036 PRINTTAB(12)"[158]PLAY AGAIN (Y/N)"
- 3037 GET Q$:IF Q$=""THEN3037
- 3038 IF Q$<>"Y"THEN PRINT"[147]":END
- 3039 CLR
- 3042 GOTO 26
- 3050 REM ****** CHOOSE ******
- 3055 PRINT"[147]":POKE53280,2:POKE53281,0
- 3060 PRINTTAB(15)"!FEDERATION[146]!"
- 3065 PRINTTAB(12)"[158]STRONG MEDIUM WEAK"
- 3066 PRINTTAB(12)"[158][183][183][183][183][183][183] [183][183][183][183][183][183] [183][183][183][183]"
- 3070 PRINT"1][156]CRUSER[146] SPEED SHEILDS PHASARS"
- 3071 PRINTTAB(21)"ENERGY PHOTONS"
- 3075 PRINT"2][156]BATTLESHIP[146]SHEILDS SPEED PHOTONS"
- 3076 PRINTTAB(12)"ENERGY PHASARS"
- 3080 PRINT"3][156]WARSHIP[146] PHOTONS ENERGY SPEED"
- 3081 PRINTTAB(12)"PHASARS SHEILDS"
- 3082 IFO=1GOTO3105
- 3083 PRINTTAB(13)"[158]KEY IN CHOICE"
- 3086 GET Q$:IF Q$=""THEN3086
- 3087 IF Q$<"1"ORQ$>"3"THEN3055
- 3088 IF Q$="1"THEN SS=8:S1=50:E1=100:P1=15:H1=5
- 3089 IF Q$="2"THEN SS=5:S1=100:E1=150:P1=25:H1=5
- 3090 IF Q$="3"THEN SS=3:S1=50:E1=100:P1=30:H1=15
- 3094 A1=1825:AI=56097:C1=1:D1=33:FORT=1TO1000:NEXT
- 3095 PRINT"[147]":POKE53280,13:PRINTTAB(16)"%KLINGON[146]%"
- 3100 O=1:GOTO 3065
- 3105 PRINTTAB(13)"[159]KEY IN CHIOCE"
- 3110 GETF$:IFF$=""THEN3110
- 3115 IF F$<"1"ORQ$>"3"THEN 3095
- 3116 IFF$="1"THEN SP=8:S2=50:E2=100:P2=15:H2=5
- 3117 IFF$="2"THEN SP=5:S2=100:E2=150:P2=25:H2=5
- 3118 IFF$="3"THEN SP=3:S2=50:E2=100:P2=30:H2=15
- 3119 A2=1302:AO=55574:C2=1:D2=38:FORT=1TO1000:NEXT:X=54272:RETURN
-