05 REM https://archive.org/details/197802/page/n53/mode/2up?q=&view=theater 10 REM STARWARS 20 REM BY JERRY SELF 30 REM OCTOBER 3, 1977 70 CLS : PRINT "WHAT SIZE GRID DO YOU WANT? NOVICE=20,20 OR CHALLENGE=20,40." 80 PRINT "LIMITS ARE 60,60. SIZE"; : INPUT S1,S2 90 W=0 : T1=0 : T2=0 100 PRINT "DO YOU WANT INSTRUCTIONS Y/N"; 110 INPUT A$ : IF A$="Y" OR A$="y" THEN 520 120 DIM G(60,60) 125 REM POSITIONING THE TARGET 130 RANDOM : C1=INT(RND(0)*S1) : IF C1=0 THEN 130 140 C2=INT(RND(0)*S2) : IF C2=0 THEN 140 150 T2=T2+1 : F=0 : M=0 : Z=0 155 REM INITIALING THE GRID 160 FOR I=1 TO S1 170 FOR J=1 TO S2 180 G(I,J)=0 190 NEXT J : NEXT I 200 G(C1,C2)=2 : N=11 205 REM THE PLAY BEGINS 210 FOR I=1 TO 10 220 N=N-1 : PRINT N,"MINUTES TIL DEATHSTAR CLEARS PLANET." 230 GOSUB 900 235 REM RANDOMIZING HAN SOLO TO THE RESCUE 240 IF Z>0 THEN 250 ELSE GOTO 280 250 M=INT(RND(0)+.3) : IF M=1 THEN 260 ELSE GOTO 280 260 G(C3,C4)=0 : Z=0 270 PRINT "HAN SOLO HAS ELIMINATED THE IMPERIAL FIGHTER." 275 REM TARGETING THE BOMB 280 PRINT : PRINT "ENTER COORDINATES"; : INPUT X,Y 290 IF X<1 THEN 280 ELSE IF X>S1 THEN 280 ELSE IF Y<1 THEN 280 ELSE IF Y>S2 THEN 280 300 IF G(X,Y)=2 THEN 420 ELSE IF G(X,Y)=4 THEN 710 ELSE G(X,Y)=1 315 REM CHECKING FOR STRIKE 320 FOR J=1 TO 5 330 IF X+J>S1 THEN 360 ELSE IF Y+J>S2 THEN 360 340 IF G(X+J,Y+J)=2 THEN 460 ELSE IF G(X+J,Y+J)=4 THEN 710 350 G(X+J,Y+J)=1 360 NEXT J 370 GOSUB 740 380 NEXT I 385 REM REPORTING OUTCOME OF GAME 390 PRINT "THE DEATHSTAR HAS DESTROYED THE REBEL BASE." 400 PRINT "YOU ARE HOMELESS AND LOSING POWER." : W=-10 410 PRINT "DARTH VADER WILL GET YOU." : GOTO 480 420 G(X,Y)=3 : GOSUB 740 430 PRINT "!!!IMMEDIATE DIRECT HIT!!! YOU HAVE DESTROYED THE DEATHSTAR" 440 PRINT "AND SAVED THE REBEL CAUSE!" : W=N*10 450 GOTO 480 460 G(X+J,Y+J)=3 : GOSUB 740 470 PRINT "YOU HAVE DESTROYED THE DEATHSTAR!" : W=N*5 480 T1=T1+W : PRINT "SCORE THIS GAME";W,"TOTAL";T1,"AVERAGE";T1/T2 485 PRINT "DO YOU WANT TO PLAY AGAIN Y/N"; 490 INPUT A$ : IF A$="Y" OR A$="y" THEN 130 500 PRINT "MAY THE FORCE BE WITH YOU" 510 END 515 REM INSTRUCTIONS 520 PRINT "THE DEATHSTAR HAS THE POWER TO DESTROY A PLANET WITH A" 530 PRINT "SINGLE BLAST, IT IS APPROACHING THE REBEL BASE WHICH" 540 PRINT "IS ON A MOON HIDDEN BEHIND THE MOTHER PLANET, AS SOON AS" 550 PRINT "THE DEATHSTAR CIRCLES THE PLANET IT WILL DESTROY THE BASE." 560 PRINT "YOU ARE FLYING A FIGHTER WHICH CAN BOMB A SMALL" 570 PRINT "SHAFT LEADING TO THE POWER SOURCE OF THE DEATHSTAR." 580 PRINT "IF YOU HIT IT YOU WILL DESTROY THE DEATHSTAR AND SAVE" 590 PRINT "THE REBEL BASE."; : INPUT " <>"; 600 PRINT "ENTER COORDINATE X (WITHIN GRID LIMIT) AND Y TO TARGET" 610 PRINT "YOUR BOMB. THE BOMB TRAJECTORY WILL THEN BE SHOWN" 620 PRINT "ON YOUR SCREEN. THE TARGET (#) WILL ALSO APPEAR" 630 PRINT "YOU CAN THEN ESTIMATE HOW MUCH YOU MISSED. THE FIGHTER" 640 PRINT "IS EQUIPPED WITH A COMPUTERIZED GRID WHICH CAN SHOW THE" 650 PRINT "EXACT LOCATION OF THE TARGET. BUT YOU DO NOT USE IT" 660 PRINT "BECAUSE YOU TRUST THE FORCE." 670 PRINT "BUT WATCH OUT FOR IMPERIAL FIGHTFRS!" 680 PRINT "IF YOU OR HAN SOLO DO NOT ELIMINATE THEM WITHIN TWO TURNS," 690 PRINT "THEY WILL ELIMINATE YOU. MAY THE FORCE BE WITH YOU!" : PRINT 700 GOTO 120 705 REM REPORTING STRIKE ON FIGHTER 710 G(C3,C4)=0 : Z=0 720 PRINT "YOU HAVE HIT THE IMPERIAL FIGHTER." : GOTO 370 735 REM PRINTING THE GRID 740 FOR K=1 TO S1 750 FOR J=1 TO S2 760 IF G(K,J)=1 THEN 810 ELSE IF G(K,J)=2 THEN 820 770 IF G(K,J)=3 THEN 860 ELSE IF G(K,J)=4 THEN 830 800 GOTO 840 810 PRINT TAB(J)"*"; : G(K,J)=0 : GOTO 840 820 PRINT TAB(J)"#"; : GOTO 840 830 PRINT TAB(J)"X"; : GOTO 840 840 NEXT J : PRINT : NEXT K : GOTO 890 860 PRINT "**************************************************************" 870 PRINT "*********************KABOOM***********************************" 880 PRINT "**************************************************************" 890 RETURN 900 IF Z>0 THEN 960 : REM ROUTINE TO RANDOM IMPER. FIGHTER 910 F=INT(RND(0)+.5) : IF F=1 THEN 920 ELSE GOTO 1010 920 C3=INT(RND(0)*S1) : IF C3=0 THEN 920 930 C4=INT(RND(0)*S2) : IF C4=0 THEN 930 ELSE Z=1 940 G(C3,C4)=4 950 PRINT "IMPERIAL FIGHTER ON THE ATTACK" : GOTO 1140 960 ON Z GOTO 970,980 970 PRINT "IMPERIAL FIGHTER PENETRATING SHIELDS" : Z=Z+1 : GOTO 1140 980 PRINT "THE IMPERIAL FIGHTER HAS DESTROYED YOUR SHIP." 990 PRINT "THE DEATHSTAR WILL DESTROY THE MOON AND THE REBEL BASE." 1000 W=N*(-10) : GOTO 480 1005 REM PRINTING RADIO MESSAGES 1010 ON N GOTO 1020,1040,1050,1060,1070,1090,1100,1110,1120,1130 1020 PRINT "THE GRAND MOFF TARKIN HAS ORDERED THE DESTRUCT SEQUENCE" 1030 GOTO 1140 1040 PRINT "DARTH VADER IS DETERMINED TO GET YOU" : GOTO 1140 1050 PRINT "THE REBEL CAUSE DEPENDS ON YOU" : GOTO 1140 1060 PRINT "TRUST THE FORCE" : GOTO 1140 1070 PRINT "THE TRADITION OF THE JEDI KNIGHTS DEMANDS THAT YOU WIN" 1080 GOTO 1140 1090 PRINT "REMEMBER THE JAWAS" : GOTO 1140 1100 PRINT "SOLO'S MILLENIUM FALCON IS STANDING BY" : GOTO 1140 1110 PRINT "R2D2 IS CORRECTING A MALFUNCTION" : GOTO 1140 1120 PRINT "C3P0 HAS BROKEN INTO A SWEAT" : GOTO 1140 1130 PRINT "PRINCESS LEIA RADIOES 'PLEASE HURRY'" : GOTO 1140 1140 RETURN