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