00 REM https://archive.org/details/1978-06-peoples-computers/page/n5/mode/2up 10 REM STAR WARS -- 1977 -- MARK W. PELCZARSKI 20 DIM H(4) : CLS : RANDOM 30 PRINT "THIS PROGRAM WORKS BEST ON A CRT" 40 PRINT "WITH THE 40/80 SWITCH ON 40 (IF" 50 PRINT "THERE IS ONE). DO YOU WANT INSTRUCTIONS?" 60 PRINT "('Y' OR 'N')"; 70 INPUT A$ 80 IF A$="N" OR A$="n" THEN 550 90 CLS 100 PRINT "* * * * * * * * * * * " 101 PRINT " * * * * * * * * * " 110 PRINT "* * * * * * * * * *" 111 PRINT " * * * * * * * * " 120 PRINT " * * * * * * * * *" 121 PRINT " * * * * * * * " 130 PRINT "* * * * * * S T A R * * * * " 131 PRINT " * * * * * * * * " 140 PRINT " * * * * W A R S * * * *" 141 PRINT " * * * * * * * * " 150 PRINT " * ** * * * * * * * * " 151 PRINT " * * * * * * * * * " 160 PRINT " * * * * ** * * * * * *" 161 PRINT " ** * * * * * * * * " 170 PRINT "* * * * * * * * ** *" 171 PRINT " * * * * * * * * * " 180 INPUT 10,M,N 190 CLS 200 PRINT "THE OBJECT, OF COURSE, IS TO DROP A" 210 PRINT "PROTON TORPEDO DOWN THE EXHAUST SHAFT" 220 PRINT "IN THE DEATH STAR. YOU WILL START OUT" 230 PRINT "SPEEDING THROUGH THE CANYON, HOPING" 240 PRINT "THAT NO TIE FIGHTERS FIND YOU. THEY" 250 PRINT "WILL. YOU ARE TO TRY TO AVOID THEM BY" 260 PRINT "MANEUVERING BACK AND FORTH, UP AND DOWN," 270 PRINT "UNTIL YOU SPOT THE SHAFT -- THEN FIRE!" 280 INPUT 10,N,M 290 PRINT "YOU WILL BE SHOWN TWO VIEWS -- ONE" 300 PRINT "FORWARD (YOU 'LL SEE AN 'X' WHERE YOU" 310 PRINT "ARE LOCATED) IN WHICH YOU'LL WATCH FOR" 320 PRINT "THE SHAFT, AND ONE BEHIND YOU, IN WHICH" 330 PRINT "YOU'LL LOOK FOR THE TIE FIGHTER (MARKED" 340 PRINT "AS AN 'H'). BOTH VIEWS ARE LOOKING" 350 PRINT "STRAIGHT THROUGH THE CANYON, WITH THE" 360 PRINT "WALLS AT YOUR SIDES AND THE CANYON FLOOR" 370 PRINT "BELOW. THE SHAFT WILL FIRST APPEAR ON" 380 PRINT "THE CANTON FLOOR AS A '.', BUT YOU" 390 PRINT "WON'T FIRE UNTIL YOU SEE IT AS A 'O'." 400 PRINT "YOU MUST BE DIRECTLY ABOVE IT AND AS LOW" 410 PRINT "AS POSSIBLE. DON'T FORGET TO PULL OUT" 420 PRINT "WHEN YOU SEE THE TOWER." 430 INPUT 10,N,M 440 PRINT "YOUR COMMANDS ARE:" 450 PRINT " 1) LEFT 4) RIGHT" 460 PRINT " 2) UP 3) DOWN" 470 PRINT " 5) FIRE 6) PULL OUT" 480 PRINT 490 PRINT "BE SURE TO PRESS RETURN AS SOON AS YOU" 500 PRINT "GIVE YOUR COMMAND, OR IT WON'T BE " 510 PRINT "RECOGNIZED. GOOD LUCK." 520 PRINT "THE NUMBER YOU PICK FOR YOUR LEVEL WILL" 530 PRINT "BE YOUR TIME LIMIT (IN SECONDS) BETWEEN " 540 PRINT "MOVES." 550 PRINT "YOUR LEVEL? (1-EXPERT, 2-VERY GOOD," 560 PRINT " 3-GOOD, 4-PAIR, 5-NOVICE," 570 PRINT " 20-SUPER NOVICE) "; : RANDOM 580 INPUT L 590 LET P=INT(RND(0)*13+8) 600 LET T=INT(RND(0)*4+2) 610 LET X1=1 : LET E=1 : LET C1=1 620 LET X2=4 630 LET H1=0 : LET H2=0 : LET C2=0 : LET T1=0 : LET S=0 640 LET C=-1 : LET N=L 650 GOSUB 780 660 PRINT "COMMAND?"; 670 PRINT 680 INPUT M 690 PRINT 700 IF N>0 THEN 720 710 LET M=7 720 GOSUB 1280 730 ON E GOTO 650,1970,740 740 PRINT "WOULD YOU LIKE ANOTHER RUN ('Y' OR 'N') "; 750 INPUT A$ 760 IF A$="Y" OR A$="y" THEN 590 770 GOTO 2000 780 REM - PRINT SCREEN - 790 LET C=C+1 800 PRINT "" 810 FOR B=1 TO 3 820 GOSUB 890 830 NEXT B 840 IF C

B THEN 970 920 LET A$="X" 930 LET A=X2 940 GOSUB 1120 950 PRINT "! !"; 960 GOTO 980 970 PRINT " ! !"; 980 LET A$="H" 990 IF H1 <> B THEN 1040 1000 LET A=H2 1010 GOSUB 1120 1020 PRINT "!" 1030 RETURN 1040 IF H1=0 THEN 1100 1050 LET H(C1+2)=B 1060 LET A=INT(RND(0)*7+1) 1070 LET H(C1)=A 1080 LET C1=C1+1 1090 GOTO 1010 1100 PRINT " !" 1110 RETURN 1120 REM - LOCATE AND PRINT SHIP - 1130 FOR I=1 TO A-1 1140 PRINT " "; 1150 NEXT I 1160 PRINT A$; 1170 FOR I=1 TO 7-A 1180 PRINT " "; 1190 NEXT I 1200 RETURN 1210 REM - LOCATE SHAFT - 1220 LET C2=C-P+1 1230 ON C2 GOTO 1240,1240,1260 1240 PRINT "!---.---! !-------!" 1250 RETURN 1260 PRINT "!---O---! !-------!" 1270 RETURN 1280 REM - MOVE - 1290 IF C2<3 THEN 1370 1300 IF M <> 5 THEN 1350 1310 IF X1 <> 3 THEN 1800 1320 IF X2 <> 4 THEN 1800 1330 LET S=1 1340 GOTO 1800 1350 PRINT "YOU PASSED THE TARGET." 1360 LET T1=1 1370 ON M GOTO 1380,1410,1440,1470,1730,1950,1490 1380 LET X2=X2-1 1390 IF X2=0 THEN 1750 1400 GOTO 1490 1410 LET X1=X1-1 1420 IF X1=0 THEN 1780 1430 GOTO 1490 1440 LET X1=X1+1 1450 IF X1=4 THEN 1750 1460 GOTO 1490 1470 LET X2=X2+1 1480 IF X2=8 THEN 1750 1490 IF H2=0 THEN 1620 1500 FOR I=1 TO 2 1510 IF X2 <> H(I) THEN 1530 1520 IF X1=H(I+2) THEN 1570 1530 NEXT I 1540 LET C1=1 1550 IF X2 <> H2 THEN 1620 1560 IF X1 <> H1 THEN 1590 1570 PRINT "YOU'VE BEEN SHOT DOWN." 1580 GOTO 1760 1590 IF T1=1 THEN 1800 1600 LET H1=X1 1610 RETURN 1620 IF T1=1 THEN 1800 1630 IF H2 <> 0 THEN 1680 1640 IF C 6 THEN 1750 1890 IF S=0 THEN 1940 1900 PRINT "YOU'VE DONE IT -- A PERFECT SHOT!!!" 1910 PRINT "CONGRATULATIONS!" 1920 LET E=2 1930 RETURN 1940 PRINT "YOU MISSED YOUR TARGET." 1950 LET E=3 1960 RETURN 1970 PRINT "WOULD YOU LIKE TO TRY AGAIN ('Y' OR 'N') "; 1980 INPUT A$ 1990 IF A$="Y" OR A$="y" THEN 550 2000 END