10 REM WRITTEN BY ROBB (MITHRANDIR) BORLAND 10/4/77 11 REM______________________________________________________ 12 REM === STARWARS 1" === REWORKED 08.12.2017 16 REM 18 REM special conversion for SBC 6502 - 80 columnīs 20 REM and Win Hyperterminal - Igi 2017 22 REM______________________________________________________ 24 ? CHR$(12):?:?:?:POKE 15,80 30 ? TAB(36);"..=*=.." 40 ? TAB(32);".-=* *=-." 50 ? TAB(30);"-=/ \=-" 60 ? TAB(29);"+*(S T A R W A R S)*+" 70 ? TAB(30);"-=\ /=-" 80 ? TAB(32);"'-=* *=-'" 90 ? TAB(36);"''=*=''":?:? 100 ? TAB (20);" THIS PROGRAM WILL SIMULATE AN ATTEMPT TO" 110 ? TAB (20);" DESTROY THE INFAMOUS STARWARS DEATH STAR." 120 ? 130 ? " DO YOU NEED INSTRUCTIONS? " 140 GOSUB 3810 150 IF A9=0 THEN 1200 160 ? 200 ? " YOU MUST MANUVER DOWN A TRENCH 500,000 FEET" 210 ? " LONG, 200 FEET WIDE, AND 200 FEET DEEP TO A POINT" 220 ? " 10,000 FEET FROM THE END OF THE TRENCH AND DEAD" 230 ? " IN THE CENTER OF IT. AT THIS TIME, YOUR ON-BOARD" 240 ? " COMPUTER WILL AUTOMATICALLY FIRE 2 PROTON MISSILES AT" 250 ? " A SMALL THERMAL EXHAUST PORT AT THE END OF THE TRENCH." 260 ? " YOU MUST DO ALL OF THIS AND AT THE SAME TIME" 270 ? " NOT GET YOUR BUTT BLOWN OFF BY DARTH VADER, WHO IS" 280 ? " CHASING YOU. *** DO YOU STILL WANT TO TRY IT???" 290 GOSUB 3800 300 IF A9=0 THEN 3900 310 ? " GOOD. HERE ARE A FEW MORE DETAILS.":? 330 ? " MAXIMUM FIGHTER SPEED --- 5,000 FEET PER SECOND" 340 ? " MINIMUM FIGHTER SPEED --- 1,000 FEET PER SECOND" 350 ? " LENGTH OF TRENCH --- 500,000 FEET." 360 ? " WIDTH OF TRENCH --- 200 FEET." 370 ? " DEPTH OF TRENCH --- 200 FEET." 380 ? " AUTOMATIC FIRING RANGE --- 10,000 FEET." 390 ? " EXHAUST PORT DIAMETER --- 6 FEET." 400 GOSUB 3850 410 ? " THE TRENCH IS SET UP ON A CO-ORDINATE SYSTEM" 420 ? " WITH THE ORIGIN (0,0,0) AT THE CENTER OF THE EXHAUST PORT." 430 ? " YOU WILL START AT THE FAR END OF THE TRENCH" 440 ? " AT POSITION (0,0,500000). YOU COULD FLY STRAIGHT" 450 ? " DOWN THE CENTER OF THE TRENCH, EXCEPT THAT 5 SECONDS" 460 ? " AFTER YOU START, AND FOR EVERY 10 SECONDS AFTERWARD," 470 ? " A TURRET-MOUNTED TURBO-LASER WILL FIRE STRAIGHT DOWN THE" 480 ? " MIDDLE OF THE TRENCH, DESTROYING EVERYTHING IN IT'S PATH!" 490 GOSUB 3850 500 ? " SINCE YOU WILL BE ASKED EVERY 10 SECONDS IF" 510 ? " YOU WISH TO CHANGE COURSE AND/OR SPEED, THEN YOU" 520 ? " MUST GET AWAY FROM THE CENTER OF THE TRENCH ON YOUR" 530 ? " FIRST MANUVER OR ELSE BE DESTROYED." 540 ? " IF YOU ARE AWAY FROM THE CENTER, THERE IS ONE" 550 ? " CHANCE IN FORTY FOR EACH TEN SECOND INTERVAL THAT" 560 ? " YOU WILL BE DESTROYED BY RANDOM TURBO-LASER FIRE." 570 GOSUB 3850 600 ? " SINCE IT WILL TAKE YOU A MINIMUM OF 100 SECONDS TO" 610 ? " FLY THE LENGTH OF THE TRENCH, THEN YOU HAVE AT LEAST" 620 ? " ONE CHANCE IN FOUR THAT YOU WILL BE DESTROYED THAT WAY." 630 ? " ALSO, IF DARTH VADER GETS A SHOT OFF AT YOU AND" 640 ? " YOU DID NOT TRY TO AVOID HIM, YOU HAVE ONLY ONE " 650 ? " CHANCE IN FOUR OF SURVIVING. THEREFORE, IT BEHOOVES" 660 ? " YOU TO STAY AWAY FROM HIM WHENEVER POSSIBLE. " 670 GOSUB 3850 700 ? " THE FIRST NUMBER OF THE CO-ORDINATE SYSTEM REFERS" 710 ? " TO YOUR POSITION BETWEEN THE WALLS OF THE TRENCH. " 720 ? " THE LEFT WALL HAS A VALUE OF -100, THE CENTER IS " 730 ? " 0, AND THE RIGHT WALL IS 100." 740 ? " TRY NOT TO HIT THE WALLS." 750 GOSUB 3850 760 ? " THE SECOND NUMBER REFERS TO YOUR DEPTH IN THE" 770 ? " TRENCH. THE BOTTOM HAS A VALUE OF -100, THE CENTER" 780 ? " IS 0, AND THE TOP IS 100. YOU CAN FLY OUT OF THE TOP " 790 ? " OF THE TRENCH, BUT IF YOU DO, YOUR CHANCES OF BEING" 800 ? " HIT BY TURBO-LASER FIRE WILL INCREASE TO ONE CHANCE" 810 ? " IN FIVE FOR EACH 10 SECOND INTERVAL THAT YOU ARE OUT" 820 ? " OF THE TRENCH. ALSO, TRY NOT TO HIT THE BOTTOM." 830 GOSUB 3850 840 ? " THE THIRD NUMBER REFERS TO THE DISTANCE REMAINING" 850 ? " BETWEEN YOU AND THE APPROACHING END OF THE TRENCH." 860 ? " WHEN THAT DISTANCE EQUALS 10,000, YOUR MISSILES " 870 ? " WILL AUTOMATICALLY FIRE." 880 GOSUB 3850 890 ? " THE FIRST NUMBER OF THE COURSE CO-ORDINATES REFERS" 900 ? " TO THE HORIZONTAL POSITION YOU WILL HAVE WHEN YOU" 910 ? " REACH THE AUTOMATIC FIRING RANGE (A.F.R.) IF YOU" 920 ? " MAINTAIN THAT COURSE. ": ? 940 ? " THE SECOND COURSE CO-ORDINATE REFERS TO THE VERTICAL" 950 ? " POSITION YOU WILL HAVE WHEN YOU REACH THE A.F.R. IF" 960 ? " YOU MAINTAIN THAT COURSE. KEEP THIS IN MIND" 970 ? " WHEN YOU ARE ASKED TO MAKE COURSE CORRECTIONS." 980 GOSUB 3850 990 ? " SINCE YOUR WINGSPAN IS 30 FEET, THEN THE MAXIMUM" 1000 ? " VALUES THAT YOUR WIDTH CO-ORDINATE CAN HAVE IS" 1010 ? " + OR - 85. ALSO, SINCE YOUR FIGHTER IS TEN" 1020 ? " FEET DEEP, YOUR LOWEST DEPTH CO-ORDINATE IS -90." 1030 ? " EXCEED THESE AND YOU ARE A GONER. ALSO, YOU MUST" 1040 ? " PULL UP AT THE END OF THE TRENCH IN ORDER TO MISS" 1050 ? " THE END WALL AND A GUN EMPLACEMENT ON TOP OF THE WALL." 1060 ? " IF YOU MANAGE TO HIT EITHER OF THEM, YOU WILL NOT BE" 1070 ? " TOLD IF YOUR MISSILES WERE ON TARGET OR NOT.": ? 1090 ? " ARE YOU READY?" 1100 GOSUB 3800 1120 IF A9=0 THEN 3900 1190 REM ? 1200 ? " GOOD. HERE WE GO." 1210 ? 1220 P=500000 1225 P9=.1: REM ==== DIFFICULTY LEVEL: ORIGINAL WAS .001 1230 H1=0:V1=0:H2=0:V2=0:V6=0:T=0:U=1 1300 ? TAB(10);"VITAL STATS" 1310 ? TAB(9);"*************" 1320 REM ? 1330 ? " POSITION ----=>(";H1;",";V1;",";P;")" 1340 ? " COURSE ------=>(";H2;",";V2;" )" 1350 ? " SPEED -------=>" ;V6;" FT. PER SEC." 1360 ? " ELAPSED TIME =>" ;T;" SECONDS" 1370 IF P>60000 THEN 1410 1380 ? 1390 IF P>35000 THEN 2260 1400 IF P<35000 THEN 2550 1410 ? 1420 ? " INPUT NEW COURSE: (H2)---=>";:INPUT H2 1421 ? " INPUT NEW COURSE: (V2)---=>";:INPUT V2 1440 IF ABS(H2)<85 THEN 1510 1450 ? " ON THIS COURSE, YOU WILL EVENTUALLY IMPACT ON THE" 1460 IF H2<85 THEN ? " RIGHT WALL OF THE TRENCH." 1470 IF H2>-85 THEN ? " LEFT WALL OF THE TRENCH." 1510 IF V2>-90 THEN 1540 1520 ? " ON THIS COURSE, YOU WILL EVENTUALLY IMPACT ON THE" 1530 ? " FLOOR OF THE TRENCH." 1540 REM 1550 ?" INPUT NEW SPEED.: (V6)---=>";:INPUT V6 1570 ?:REM 1580 IF V6<1000 THEN ? " SPEED TOO LOW. TRY AGAIN." 1590 IF V6<1000 THEN 1540 1620 IF V6>5000 THEN ? " SPEED TOO HIGH. TRY AGAIN." 1630 IF V6>5000 THEN 1540 1640 H=ABS(H2-H1) 1650 V=ABS(V2-V1) 1660 R=SQR((H*H)+(V*V)) 1670 T1=R/(P-10000) 1680 T2=T1*(0.0174533): REM === CONVERSION TO RADIANS 1690 V8=TAN(T2): REM === WAS V9=V6*COS(ATN(T1)) 1700 V9=V6*COS(V8) 1710 D=V9*10 1720 H3=H*D/(P-10000) 1730 V3=V*D/(P-10000) 1740 IF H2

0 THEN 1830 1770 Y1=H1+H3 1780 IF Y1<>0 THEN 1830 1790 IF V1<>0 THEN 1830 1800 Z1=V1+V3 1810 IF Z1<>0 THEN 1830 1820 GOTO 3410 1830 H1=INT(100*(H1+H3))/100 1840 V1=INT(100*(V1+V3))/100 1850 P=P-D 1860 IF H1<-85 THEN 3180 1870 IF H1>85 THEN 3210 1880 IF V1<-90 THEN 3240 1890 IF V1>100 THEN 2000 1900 IF P<60000 THEN 2230 1910 GOTO 1960 1920 H3=H3*(-1) 1930 GOTO 1750 1940 V3=V3*(-1) 1950 GOTO 1760 1960 F=RND(-1) 1970 IF F>.96 THEN 3270 1980 IF U<.4 THEN 2060 1990 GOTO 2160 2000 ? " YOU ARE NOW ABOVE AND OUT OF THE TRENCH." 2010 G=RND(-1) 2020 IF G<.2 THEN 3270 2030 T=T+10 2040 ? 2050 GOTO 2170 2060 Q=ABS(V3) 2070 W=ABS(H3) 2080 J=SQR((Q*Q)+(W*W)) 2090 IF J>1 THEN 2130 2100 L=RND(-1) 2110 IF L>.2 THEN 3380 2120 GOTO 2150 2130 S=RND(-1) 2140 IF S>.9 THEN 3380 2150 ? 2160 T=T+10 2170 U=RND(-1) 2180 IF U>.4 THEN 1300 2190 ? " WATCH IT !! DARTH VADER IS RIGHT BEHIND YOU." 2200 ? " *** YOU HAD BETTER MANUVER. ***" 2210 ? 2220 GOTO 1300 2230 ? "*** MISSILE FIRING SEQUENCER ACTIVATED ***" 2240 ? 2250 GOTO 1300 2260 ? " YOU MUST GET BACK TO THE CENTER" 2270 ? " OF THE TRENCH AS SOON AS POSSIBLE." 2280 ? 2290 ? " INPUT NEW COURSE: (H2)---=>";:INPUT H2 2291 ? " INPUT NEW COURSE: (V2)---=>";:INPUT V2 2310 REM 2320 ?" INPUT NEW SPEED.: (V6)--->";:INPUT V6 2340 ?:REM 2350 H=ABS(H2-H1) 2360 V=ABS(V2-V1) 2370 R=SQR((H*H)+(V*V)) 2380 T1=R/(P-10000) 2390 V9=V6*COS(V8) 2400 T2=T1*(0.0174533): REM === CONVERSION TO RADIANS 2410 V8=TAN(T2): REM === WAS V9=V6*COS(ATN(T1)) 2420 D=V9*10 2430 H3=H*D/(P-10000) 2440 V3=V*D/(P-10000) 2450 IF H2

P9 THEN 3160 2550 IF H1<-P9 THEN 3160 2560 IF V1>P9 THEN 3160 2570 IF V1<-P9 THEN 3160 2580 ? " GOOD. YOU ARE IN POSITION. NOW YOU" 2590 ? " MUST GET ON COURSE AND REACH THE AUTOMATIC FIRING" 2600 X=INT(P-10000) 2610 ? " RANGE WITHIN THE NEXT FIVE SECONDS OR BE DESTROYED." 2620 ? " YOU ARE PRESENTLY";X 2630 ? " FEET AWAY FROM THE AUTOMATIC FIRING RANGE." 2640 ? 2650 ? " INPUT NEW COURSE: (H2)---=>";:INPUT H2 2651 ? " INPUT NEW COURSE: (V2)---=>";:INPUT V2 2670 REM 2680 ?" INPUT NEW SPEED.: (V6)---=>";:INPUT V6 2700 D1=V6*5 2710 IF D1";:INPUT P 2790 IF P<1.66 THEN 3080 2800 IF P>10 THEN 3050 2810 ? 2820 ? " YOUR FIGHTER HAS SAFELY MADE IT OUT OF THE TRENCH." 2830 ? 2840 IF H2<>0 THEN 3020 2850 IF V2<>0 THEN 2990 2860 K=RND(-1) 2870 IF K>.5 THEN 2960 2880 ? 2890 ? " ***** CONGRATULATIONS *****" 2895 ? " YOU HAVE DESTROYED THE DEATH STAR WITH A" 2900 ? " DIRECT HIT BY YOUR MISSILES ON THE EXHAUST PORT." 2910 GOTO 4000 2920 H3=H3*(-1) 2930 GOTO 2460 2940 V3=V3*(-1) 2950 GOTO 2470 2960 ? " YOU MADE THE PULLUP BUT YOUR MISSILES" 2970 ? " MISSED THE EXHAUST PORT." 2980 GOTO 3950 2990 ? " YOU WERE OFF COURSE VERTICALLY AND" 3000 ? " YOUR MISSLES MISSED THE EXHAUST PORT." 3010 GOTO 3950 3020 ? " YOU WERE OFF COURSE HORIZONTALLY AND" 3030 ? " YOUR MISSLES MISSED THE EXHAUST PORT." 3040 GOTO 3950 3050 ? " YOUR PULLUP ANGLE WAS TOO STEEP AND" 3060 ? " YOUR FIGHTER BROKE APART FROM THE STRESS." 3070 GOTO 3950 3080 GOSUB 3600 3090 ? " YOUR PULLUP ANGLE WAS TOO SHALLOW AND" 3100 ? " YOUR FIGHTER CRASHED INTO THE GUN EMPLACEMENT." 3110 GOTO 3950 3120 GOSUB 3700 3130 ? " YOU WERE CENTERED TOO LONG IN THE TRENCH" 3140 ? " AND DESTROYED BY TURBO-LASER FIRE." 3150 GOTO 3950 3160 ? " YOU ARE OUT OF POSITION AND IT IS TOO LATE TO CORRECT." 3170 GOTO 3950 3180 GOSUB 3500 3190 ? " YOU JUST HIT THE LEFT WALL OF THE TRENCH." 3200 GOTO 3940 3210 GOSUB 3500 3220 ? " YOU JUST HIT THE RIGHT WALL OF THE TRENCH." 3230 GOTO 3940 3240 GOSUB 3500 3250 ? " YOU JUST HIT THE FLOOR OF THE TRENCH." 3260 GOTO 3940 3270 GOSUB 3700 3275 REM 3280 ? " YOUR FIGHTER HAS BEEN DESTROYED BY TURBO-LASER FIRE." 3290 GOTO 3950 3300 ? " YOU WERE TRAVELLING TOO FAST AND PASSED THE A.F.R." 3310 ? " TOO SOON. YOU ARE OUT OF POSITION." 3320 GOTO 3950 3350 GOSUB 3600 3360 ? " YOU IMPACTED ON THE END WALL OF THE TRENCH." 3370 GOTO 3940 3380 GOSUB 3700 3390 ? " YOUR FIGHTER HAS BEEN DESTROYED BY DARTH VADER." 3400 GOTO 3950 3410 GOSUB 3700 3420 ? " YOU STAYED CENTERED IN THE TRENCH TOO LONG" 3430 ? " AND WERE DESTROYED BY TURBO-LASER FIRE." 3440 GOTO 3950 3500 ? " E E E E Y YA-A-A-A-A !!! ^" 3510 ? TAB(30);"/ \" 3520 ? TAB(23);"..-=*// \\*=-.." 3530 ? TAB(10);"( )-----=<*=*=* C R A S H *=*=*>=-----( )" 3540 ? TAB(22);"*=*=*=*=*=*=*=*=*=*" 3550 ? TAB(25);"(+) (+)" 3560 RETURN 3600 ? TAB(18);"\ * ^ * /" 3610 ? TAB(14);"\ **************** /" 3620 ? TAB(10);"* -- *** B L A M *** -- *" 3630 ? TAB(14);"/ **************** \" 3640 ? TAB(17);"/ * V * \" 3650 RETURN 3700 ? 3710 ? TAB(20);"--==***^^^***==--" 3720 ? TAB(16);"-<*>= =<*>-" 3730 ? TAB(15);"*=* Z Z Z I T T T *=*" 3740 ? TAB(16);"-<*>= =<*>-" 3750 ? TAB(20);"--==***...***==--" 3760 ? 3770 RETURN 3800 ? 3810 ?" TYPE: 1=YES 0=NO --=>";:INPUT A9 3820 REM ? 3830 RETURN 3850 ? 3860 ?" ENTER ANY NUMBER TO SEE MORE ---=>";:INPUT A9 3870 ? 3880 ? 3890 RETURN 3900 ? 3910 ? " CHICKEN ! ..." 3920 GOTO 4000 3940 ? TAB(8);"*** YOUR FIGHTER HAS BEEN DESTROYED. ***" 3950 ? TAB(10);"<*> BETTER LUCK NEXT TIME <*>" 4000 END