10 REM* WRITTEN BY JAMES OKAMURA 20 REM***COPYRIGHT BY CREATIVE COMPUTING 70 IF INP(2)=255 THEN LET W=252 ELSE LET W=2 80 PRINT "&K" 90 LET X1=0,Y1=0 100 CURSOR 6,15: PRINT "* * * S T A R W A R S I * * *" 110 CURSOR 15,0: INPUT ,"Press `RETURN' for your briefing ",A$ 120 PRINT "&K": CURSOR 0,0: PRINT "WELCOME, Rebel Pilot...": PRINT 130 PRINT "You will be commanding a squadron of X-Wing Fighters against" 140 PRINT "Galactic Empire Tie Fighters led by the<00>evil Darth Vader!" 150 PRINT : PRINT "The battle must end in our favor to save the Rebellion from" 160 PRINT "failure." 170 PRINT : PRINT "You may cOntrol your craft with the numeric keypad at the right" 180 CURSOR 9,28: PRINT "7 8 9" 190 PRINT TAB(29);"\|/" 200 PRINT " Press space bar";TAB(28);"4-5-6";TAB(42);"Darth Vader counts" 210 PRINT " to FIRE";TAB(29);"/|\";TAB(43);"as two fighters!" 220 PRINT TAB(28);"1 2 3" 230 CURSOR 15,0: INPUT ,"Press `RETURN' to continue ",A$ 240 PRINT "&K": INPUT "For how many time units do you want to battle? (Minimum 25) ",U$ 250 IF LEN(U$)=0 THEN 240 260 LET T2=VAL(U$): IF T2<25 THEN LET T2=25 270 PRINT : PRINT " SELECT THE SPEED:": PRINT 280 PRINT TAB(10);"1-Slowest" 290 PRINT TAB(10);"2-Medium" 300 PRINT TAB(10);"3-Fast" 310 PRINT TAB(10);"4-Jedi Knight" 320 CURSOR 11,0: INPUT (1,0)"What is the speed? ",B 330 IF B<1 OR B>4 THEN 320 340 LET T0=INT(45/B*2),K=0 350 PRINT "&K": CURSOR 4,7: PRINT "You have";T2;" time units to shoot down as many" 360 PRINT " Tie-Fighters as you can. You have";T0;" units to destroy" 370 PRINT " each one. If you don't, he will destroy one of your ships!" 380 CURSOR 10,10: PRINT "GOOD LUCK AND MAY THE FORCE BE WITH YOU" 390 CURSOR 15,0: INPUT ,"Press `RETURN' to begin the battle! ",A$ 400 PRINT "&K" 410 PRINT " TIME:" 420 PRINT " TIME UNTIL" 430 PRINT " ATTACK:" 440 PRINT " SHOTS" 450 PRINT " TAKEN:" 460 PRINT " **SCORE**" 470 PRINT " YOU:" 480 PRINT " THEM:" 490 PRINT 500 PRINT " 7 8 9" 510 PRINT " \|/ SPACE" 520 PRINT " 4-5-6 BAR" 530 PRINT " /|\ TO" 540 PRINT " 1 2 3 FIRE" 550 LET C5=124,C4=124 560 FOR A=52800 TO 52813: POKE A,160: NEXT 570 FOR A=52224 TO 52287: POKE A,160: POKE A+960,160: NEXT 580 FOR A=52350 TO 53246 STEP 64: POKE A,160: POKE A+1,160 590 POKE A-49,160: POKE A-62,160: NEXT 600 GOSUB 1240: LET T1=T0 610 LET X=INT(RND(R)*43)+16,Y=INT(RND(R)*13)+2,V1=3-B: GOSUB 1190 620 LET R=RND(R): IF R<=V1/4 THEN 640 630 LET T=INT(RND(R)*8)+1: GOSUB 1040 640 GOSUB 1140: LET T=INP(W),T=T-48 650 IF T=-35 THEN 690 660 IF T>0 AND T<=9 THEN LET F2=0: GOTO 680 670 LET F2=F2+1: IF F2<3 THEN 720 ELSE LET T=5 680 GOSUB 1040: GOSUB 1140 690 GOSUB 1170: GOSUB 1190 700 LET T2=T2-B/4,T1=T1-B/4,C2=52298,C3=INT(T2): GOSUB 960 710 LET C3=INT(T1),C2=52427,F=1: GOSUB 960: LET F=0: GOTO 1270 720 LET K=K+1,C3=K,C2=52555: GOSUB 960 730 FOR A=7 TO 1 STEP -1: POKE A*63+52711,47 740 POKE A*65+52711,92: NEXT : LET E=PEEK(52711) 750 IF E<>43 THEN 780 ELSE GOSUB 760: GOTO 1270 760 FOR A=7 TO 1 STEP -1: POKE A*63+52711,32 770 POKE A*65+52711,32: NEXT : RETURN 780 FOR A=1 TO 10: POKE 52711,170 790 FOR C=1 TO 30: NEXT : POKE 52711,E: FOR C=1 TO 30: NEXT : NEXT 800 LET S1=C5,S2=61,S3=15,S4=61,S5=C4 810 FOR A=1 TO 3 820 LET S1=S1+128,S2=S2+128,S3=S3+128,S4=S4+128,S5=S5+128 830 GOSUB 1170 840 GOSUB 1170 850 LET S1=S1-128,S2=S2-128,S3=S3-128,S4=S4-128,S5=S5-128 860 GOSUB 1170: NEXT : GOSUB 760 870 RESTORE : READ D: LET K1=M-551 880 FOR A=1 TO D: READ H,L: POKE H+K1,L: NEXT 890 LET T1=T0: IF C4=41 THEN LET Y1=Y1+2 ELSE LET Y1=Y1+1 900 LET C2=52681,C3=Y1: GOSUB 960 910 GOSUB 1240 920 FOR A=1 TO 8: POKE 52711-A,32: POKE 52711+A,32: NEXT 930 GOSUB 1240: LET V=INT(RND(R)*5): IF V=1 THEN 950 940 LET C5=124,C4=124: GOTO 610 950 LET C5=40,C4=41: GOTO 610 960 FOR C=0 TO 2 970 LET A=INT((C3*.1-INT(C3*.1))*10) 980 IF F=1 AND C=2 THEN 1000 990 POKE C2-C,A+48 1000 LET C3=(C3-A)/10: NEXT : RETURN 1010 POKE C2-1,A+48 1020 LET C3=(C3-A)/10: GOTO 960 1030 POKE C2-2,A+48: RETURN 1040 ON TGOTO 113011201110110010901080107010601050 1050 LET X=X-1,Y=Y+1: RETURN 1060 LET Y=Y+2: RETURN 1070 LET X=X+1,Y=Y+1: RETURN 1080 LET X=X-3 1090 RETURN 1100 LET X=X+3: RETURN 1110 LET X=X-1,Y=Y-1: RETURN 1120 LET Y=Y-2: RETURN 1130 LET X=X+1,Y=Y-1: RETURN 1140 IF X>59 THEN LET X=59 ELSE IF X<16 THEN LET X=16 1150 IF Y>15 THEN LET Y=15 ELSE IF Y<2 THEN LET Y=2 1160 RETURN 1170 POKE M-2,S1: POKE M-1,S2: POKE M,S3: POKE M+1,S4: POKE M+2,S5 1180 RETURN 1190 LET M=52160+Y*64+X 1200 LET S1=PEEK(M-2),S2=PEEK(M-1),S3=PEEK(M),S4=PEEK(M+1) 1210 LET S5=PEEK(M+2) 1220 POKE M-2,C5: POKE M-1,61: POKE M,15: POKE M+1,61: POKE M+2,C4 1230 RETURN 1240 FOR A=3 TO 9: POKE 52711-A,45: POKE 52711+A,45: NEXT 1250 FOR A=2 TO 5: POKE 52711-A*64,33: POKE 52711+A*64,33: NEXT 1260 POKE 52711,43: RETURN 1270 IF T2<=0 THEN 1340 ELSE IF T1>0 THEN 620 1280 LET Y=8,X=39: GOSUB 1170: GOSUB 1190 1290 FOR F=1 TO 2 1300 FOR A=1 TO 7: POKE 52711+A*63,47: POKE 52711+A*65,92: NEXT 1310 FOR A=1 TO 7: POKE 52711+A*63,32: POKE 52711+A*65,32: NEXT 1320 NEXT F: LET X1=X1+1,C2=52745,C3=X1: GOSUB 960 1330 GOSUB 1170: GOSUB 1240: LET T1=T0: GOTO 610 1340 PRINT "&K": SET DS=0: PRINT " FINAL OUTCOME:": PRINT : PRINT TAB(10);"YOU";Y1;" ENEMY";X1 1350 PRINT : PRINT 1360 IF Y1>X1 THEN PRINT " YOU AND THE REBEL FORCES WIN!!" ELSE 1380 1370 GOTO 1400 1380 PRINT " YOU LOSE AND THE REBELLION IS DOOMED!!!" 1390 PRINT : INPUT (1,0)"Do you want another battle, maybe we still have a chance! ",A$: GOTO 1410 1400 PRINT : INPUT (1,0)"Do you want another battle? ",A$ 1410 IF A$="Y" THEN 240 ELSE PRINT : PRINT : PRINT TAB(16);"Thank you for playing with me." 1420 PRINT TAB(5);"Type `RUN' and press `RETURN' to play STAR WARS again.": PRINT : END 1430 DATA 157,551,160,487,160,615,160,550,160,552,160 1440 DATA 486,160,616,160,614,160,488,160,549,160,553,160 1450 DATA 485,160,617,160,613,160,489,160,548,160,554,160 1460 DATA 489,160,617,160,490,160,554,160,618,160,555,160 1470 DATA 423,160,679,160,547,160,555,160,422,160,680,160 1480 DATA 678,160,424,160,421,160,681,160,677,160,425,160 1490 DATA 484,160,618,160,612,160,490,160,420,160,682,160 1500 DATA 426,160,483,160,619,160,611,160,491,160 1510 DATA 546,160,556,160,551,42,487,42,550,42,615,42 1520 DATA 552,160,232,46,808,46,805,46,413,46,561,46 1530 DATA 432,46,748,46,737,46,551,127,487,127,615,127,550,127 1540 DATA 552,127,486,32,616,32,614,32,488,32,549,32,553,32 1550 DATA 485,32,617,32,613,32,489,32,548,32,554,32,423,32 1560 DATA 679,32,547,32,555,32,422,32,680,32,678,32,424,32 1570 DATA 421,32,681,32,677,32,425,32,484,32,618,32,612,32 1580 DATA 490,32,353,46,364,46,686,46,480,46,542,46,430,46 1590 DATA 746,46,292,46,607,46,413,32,805,32,561,32,232,32 1600 DATA 808,32,672,46,495,46,623,46,298,46,621,46,294,46 1610 DATA 739,46,743,46,621,46,551,32,487,32,615,32,552,32 1620 DATA 550,32,144,32,807,32,480,32,495,32,748,32,542,32 1630 DATA 432,32,686,32,739,32,364,32,621,32,746,32,607,32 1640 DATA 353,32,623,32,737,32,430,32,672,32,294,32,298,32 1650 DATA 292,32,294,32,298,32 1660 DATA 556,32,491,32,426,32,619,32,682,32 1670 DATA 546,32,611,32,483,32,420,32,806,32,742,32 1680 DATA 743,32