Star Wars

a.k.a. Star

created and published by Custom Software Group, running on DEC PDP-1
type: turn-based, simulation, flight
series: Star Wars
setting: Past
perspective: other
player options: single player
languages: eng

Official description

10 REM ---DESIGNED TO RUN ON HEATH H19/H89---
900 WIDTH 80
1000 LET E$=CHR$(27):PRINT E$;"F";E$;"E";E$;"x5";E$;"Y#'";
1010 PRINT TAB(18);E$;"F";"faaqaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac"
1020 PRINT TAB(18);"`";SPC(43);"`"
1030 PRINT TAB(18);"` 'S T A R W A R S' `"
1040 PRINT TAB(18);"`";SPC(43);"`"
1050 PRINT TAB(18);"`";E$;"G";" This program presented courtesy of ";
1060 PRINT E$;"F";"`"
1070 PRINT TAB(18);"`";SPC(43);"`"
1080 PRINT TAB(18);"`";E$;"p";" C U S T O M S O F T W A R E G R O U P ";
1090 PRINT E$;"q";"`"
1100 PRINT TAB(18);"`";SPC(43);"`"
1110 PRINT TAB(18);"`";E$;"G";" Specializing in custom programming for ";
1120 PRINT E$"F";"`"
1130 PRINT TAB(18);"` HEATH/ZENITH DATA SYSTEMS `"
1140 PRINT TAB(18);"`";SPC(43);"`"
1150 PRINT TAB(18);"` CUSTOM SOFTWARE GROUP `"
1160 PRINT TAB(18);"` POST OFFICE BOX `"
1170 PRINT TAB(18);"` BELLEVUE, NE 68005 `"
1180 PRINT TAB(18);"` PHONE 291-4622 `"
1190 PRINT TAB(18);"` 291-5819 `"
1200 PRINT TAB(18);"`";SPC(43);"`"
1210 PRINT TAB(18);"eaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaad";E$;"G"
1220 PRINT TAB(28);"PRESS RETURN TO CONTINUE"
1230 A$=INPUT$(1)
1240 PRINT CHR$(27);"G";CHR$(27);"w"
1250 CLEAR 1000
1260 PRINT CHR$(27);"E";CHR$(27);"Y! ";CHR$(27);"x5"
1270 PRINT ," ******** ********** ****** *********"
1280 PRINT ," ** ** ** ** ** ** **"
1290 PRINT ," ** ** ** ** ** **"
1300 PRINT ," ******** ** ********** *********"
1310 PRINT ," ** ** ** ** ** **"
1320 PRINT ," ** ** ** ** ** ** **"
1330 PRINT ," ******** ** ** ** ** **"
1340 PRINT:PRINT
1350 PRINT ," ** ** ****** ********* ********"
1360 PRINT ," ** ** ** ** ** ** ** **"
1370 PRINT ," ** ** ** ** ** ** **"
1380 PRINT ," ** ** ** ********** ********* ********"
1390 PRINT ," ** ** ** ** ** ** ** **"
1400 PRINT ," ******** ** ** ** ** ** **"
1410 PRINT ," ** ** ** ** ** ** ********"
1420 FOR I=1 TO 1000:NEXT I
1430 PRINT CHR$(27);"Y7 "
1440 PRINT ,"A LONG TIME AGO IN A GALAXY FAR, FAR AWAY, A GREAT"
1450 FOR I=1 TO 1000:NEXT I:PRINT
1460 PRINT ,"ADVENTURE TOOK PLACE. IT IS A PERIOD OF CIVIL WAR."
1470 FOR I=1 TO 1000:NEXT I:PRINT
1480 PRINT ,"REBEL SPACE SHIPS STRIKING FROM A HIDDEN BASE HAVE"
1490 FOR I=1 TO 1000:NEXT I:PRINT
1500 PRINT ,"WON THEIR FIRST VICTORY AGAINST THE EVIL GALACTIC"
1510 FOR I=1 TO 1000:NEXT I:PRINT
1520 PRINT ,"EMPIRE. DURING THE BATTLE, REBEL SPYS MANAGED TO"
1530 FOR I=1 TO 1000:NEXT I:PRINT
1540 PRINT ,"STEAL SECRET PLANS TO THE EMPIRE'S ULITMATE WEAPON"
1550 FOR I=1 TO 1000:NEXT I:PRINT
1560 PRINT ,"THE DEATH STAR, AN ARMOURED SPACE STATION WITH THE"
1570 FOR I=1 TO 1000:NEXT I:PRINT
1580 PRINT ,"FIRE POWER TO DESTROY AN ENTIRE PLANET. "
1590 FOR I=1 TO 1000:NEXT I:PRINT:PRINT
1600 PRINT ," YOUR MISSION AS ONE OF THE REBEL PILOTS IS TO"
1610 FOR I=1 TO 1000:NEXT I:PRINT
1620 PRINT ,"ATTACK AND DESTROY THE 'DEATH STAR'. WHILE MAKING"
1630 FOR I=1 TO 1000:NEXT I:PRINT
1640 PRINT ,"YOUR ATTACK YOU HAVE ENCOUNTERED 'DARTH VADER' AND"
1650 FOR I=1 TO 1000:NEXT I:PRINT
1660 PRINT ,"HIS IMPERIAL STORM TROOPERS IN THEIR TIE FIGHTERS."
1670 FOR I=1 TO 1000:NEXT I:PRINT
1680 PRINT ,"YOU MUST DESTROY THEM BEFORE THEY CAN DESTROY YOU."
1690 FOR I=1 TO 1000:NEXT I:PRINT:PRINT
1700 PRINT ," GOOD LUCK AND MAY THE 'FORCE' BE WITH YOU "
1710 FOR I=1 TO 2000:NEXT I
1720 REM
1730 REM .........................INSTRUCTIONS ROUTINE.......................
1740 REM
1750 PRINT CHR$(27);"E";CHR$(27);"Y*6";"DO YOU NEED:":PRINT
1760 PRINT TAB(30);"FULL INSTRUCTIONS <F>?"
1770 PRINT TAB(30);"BRIEF INSTRUCTIONS [b]?"
1780 PRINT TAB(30);"NO INSTRUCTIOnS <N>?"
1790 A$=INPUT$(1):IF A$="F" THEN 1870
1800 IF A$="B" THEN 2270
1810 IF A$="N" THEN 1820 ELSE 1790
1820 PRINT:PRINT TAB(29);"WHAT IS YOUR SKILL RATING?"
1830 A$=INPUT$(1):IF A$<"1" OR A$>"9" THEN 1850
1840 LET A$=A$+"0":LET A9=CVI(A$):LET A9=A9-12336:GOTO 2540
1850 PRINT:PRINT TAB(26);"EVIDENTLY YOU NEED INSTRUCTIONS!"
1860 FOR I=1 TO 500:NEXT I:PRINT
1870 PRINT CHR$(27);"E";CHR$(27);"Y! "
1880 PRINT "YOU HAVE BEEN EQUIPPED WITH AN X-WING ";
1890 PRINT " AS IN A REAL DOG-FIGHT YOU MUST LEAD"
1900 PRINT "FIGHTER BY THE REBEL ALLIANCE. YOUR ";
1910 PRINT " THE TARGET WHEN FIRING YOUR LASER. IF"
1920 PRINT "FIGHTER IS COMPUTER CONTROLLED BY THE ";
1930 PRINT " YOU WAIT UNTIL HE IS EXACTLY CENTERED"
1940 PRINT "NUMERIC KEYPAD ON YOUR KEY BOARD. THE ";
1950 PRINT " TO FIRE, THEN YOU WILL MISS HIM. YOU"
1960 PRINT "DISPLAY YOU WILL SEE IS YOUR ONBOARD ";
1970 PRINT " MAY CONTINUE TO FIRE AT HIM, BUT WHEN"
1980 PRINT "SCANNER. IN ORDER TO KILL AN ENEMY ";
1990 PRINT " YOU ARE FIRING YOUR WEAPON, YOUR CON-"
2000 PRINT "FIGHTER HE MUST RECEIVE A DIRECT HIT ";
2010 PRINT " TROL OF DIRECTION IS NOT AS GOOD AS"
2020 PRINT "OR MULTIPLE DAMAGING HITS. HE WILL ";
2030 PRINT " WHEN YOU AREN'T FIRING AND THE TARGET"
2040 PRINT "RECEIVE DAMAGE IF HIT WHEN HE IS +/- ";
2050 PRINT " MAY FLY OUT OF YOUR SIGHTS. "
2060 PRINT "10 DEGREES IN ELEVATION AND HE IS +/- ";
2070 PRINT " "
2080 PRINT "9 DEGREES IN BEARING. IN ADDITION TO ";
2090 PRINT " IN ORDER TO CENTER YOUR TARGET ON THE"
2100 PRINT "THIS HE MUST BE WITHIN 6500 KMS. ";
2110 PRINT " SCANNER YOU MUST FLY TOWARDS HIM. TO"
2120 PRINT " ";
2130 PRINT " TO DO THIS YOU PRESS THE KEY ON THE"
2140 PRINT "WARNING: THE 'TIE' FIGHTER HAS THE ";
2150 PRINT " NUMERIC KEY PAD THAT IS IN HIS DIREC-"
2160 PRINT "CAPABILITY TO POP IN AND OUT OF HYP- ";
2170 PRINT " TION. IE: IF HE IS IN THE UPPER-RIGHT"
2180 PRINT "ERSPACE. THEREFORE HE MAY DISAPPEAR ";
2190 PRINT " QUADRANT YOU WOULD PRESS KEY 9 TO FLY"
2200 PRINT "RIGHT FROM BEFORE YOUR SIGHTS. ";
2210 PRINT " TOWARDS HIM. IF HE IS BELOW, PRESS 2."
2220 PRINT " ";
2230 PRINT " "
2240 PRINT " MAY THE FORCE BE WITH YOU ";
2250 PRINT " PRESS RETURN TO CONT ";
2260 LINE INPUT A$
2270 PRINT CHR$(27);"E"
2280 PRINT CHR$(27);"F";
2290 PRINT ," UP & UP UP &"
2300 PRINT ," LEFT faaaaac faaaaac faaaaac RIGHT"
2310 PRINT ," ` 7 ` ` 8 ` ` 9 `"
2320 PRINT ," eaaaaad eaaaaad eaaaaad"
2330 PRINT ," faaaaac faaaaac faaaaac"
2340 PRINT ," LEFT ` 4 ` ` 5 ` ` 6 ` RIGHT"
2350 PRINT ," eaaaaad eaaaaad eaaaaad"
2360 PRINT ," faaaaac faaaaac faaaaac"
2370 PRINT ," ` 1 ` ` 2 ` ` 3 `"
2380 PRINT ," DOWN eaaaaad eaaaaad eaaaaad RIGHT"
2390 PRINT ," LEFT faaaaac DOWN DOWN"
2400 PRINT ," ` 0 `"
2410 PRINT ," eaaaaad"
2420 PRINT ," FIRE"
2430 PRINT CHR$(27);"G"
2440 PRINT TAB(18);"<<PRESS '5' TO STOP ANY TURNS OR CLIMBS.>>":PRINT
2450 PRINT TAB(23);"ENTER A SKILL RATING FROM 1 TO 9"
2460 PRINT TAB(27);"NOVICE.................1"
2470 PRINT TAB(27);"EXPERT.................9":PRINT
2480 PRINT "AFTER SCANNER CONSTRUCTION IS COMPLETE, PRESS ANY CONTROL KEY TO"
2485 PRINT "START YOUR SCAN"
2490 A$=INPUT$(1):IF A$<"1" OR A$>"9" THEN 2490
2500 LET A$=A$+"0":LET A9=CVI(A$):LET A9=A9-12336
2510 REM
2520 REM ......................GRID CONSTRUCTION ROUTINE....................
2530 REM
2540 PRINT CHR$(27);"F";CHR$(27);"x1";CHR$(27);"x5":PRINT CHR$(27);"E";
2550 PRINT TAB(16);"RANGE:g9999 KM ELEVATION:g90 DEG BEARING:g90 DEG"
2560 PRINT:ED=0
2570 PRINT TAB(8);"-90 -75 -60 -45 -30 -15 0 +15 +30 +45 +60 +75 +90"
2580 PRINT TAB(5);"+90 bssssbssssbssssbssssbssssbssssbssssbssssbssssbssssbssssbssssb +90"
2590 PRINT TAB(9);"v";SPC(59);"t":PRINT TAB(9);"v";SPC(59);"t"
2600 PRINT TAB(5);"+60 b";SPC(59);"b +60"
2610 PRINT TAB(9);"v";SPC(59);"t":PRINT TAB(9);"v";SPC(59);"t"
2620 PRINT TAB(5);"+30 b";SPC(59);"b +30"
2630 PRINT TAB(9);"v";SPC(59);"t":PRINT TAB(9);"v";SPC(59);"t"
2640 PRINT TAB(6);"0 b";SPC(59);"b 0"
2650 PRINT TAB(9);"v";SPC(59);"t":PRINT TAB(9);"v";SPC(59);"t"
2660 PRINT TAB(5);"-30 b";SPC(59);"b -30"
2670 PRINT TAB(9);"v";SPC(59);"t":PRINT TAB(9);"v";SPC(59);"t"
2680 PRINT TAB(5);"-60 v";SPC(59);"t -60"
2690 PRINT TAB(9);"v";SPC(59);"t":PRINT TAB(9);"v";SPC(59);"t"
2700 PRINT " -90 buuuubuuuubuuuubuuuubuuuubuuuubuuuubuuuubuuuubuuuubuuuubuuuub -90"
2710 PRINT " -90 -75 -60 -45 -30 -15 0 +15 +30 +45 +60 +75 +90"
2720 REM
2730 REM ......................INPUT CONTROL SCAN ROUTINE...................
2740 REM
2750 CD=200+INT(200*RND(1)):FL$="5"
2760 IF CT=CD THEN 3910 ELSE CT=CT+1
2770 IF FL$="0" THEN 2950
2780 IF INP(17)=48 AND FL$<>"0" THEN FL$=INPUT$(1)
2790 IF INP(17)=49 AND FL$<>"1" THEN FL$=INPUT$(1)
2800 IF INP(17)=50 AND FL$<>"2" THEN FL$=INPUT$(1)
2810 IF INP(17)=51 AND FL$<>"3" THEN FL$=INPUT$(1)
2820 IF INP(17)=52 AND FL$<>"4" THEN FL$=INPUT$(1)
2830 IF INP(17)=53 AND FL$<>"5" THEN FL$=INPUT$(1)
2840 IF INP(17)=54 AND FL$<>"6" THEN FL$=INPUT$(1)
2850 IF INP(17)=55 AND FL$<>"7" THEN FL$=INPUT$(1)
2860 IF INP(17)=56 AND FL$<>"8" THEN FL$=INPUT$(1)
2870 IF INP(17)=57 AND FL$<>"9" THEN FL$=INPUT$(1)
2880 IF INP(17)<48 OR INP(17)>57 AND DM$<>CHR$(INP(17)) THEN DM$=INPUT$(1)
2890 GOSUB 3340:REM ..FIGHTER UPDATE
2900 PRINT CHR$(27);"Y&3+";CHR$(27);"Y23+";CHR$(27);"Y)=+";CHR$(27);"Y/=+";CHR$(27);"Y,G+";CHR$(27);"Y)Q+";CHR$(27);"Y/Q+";CHR$(27);"Y&[+";CHR$(27);"Y2[+"
2910 GOTO 2760
2920 REM
2930 REM .......................FIRE WEAPON ROUTINE........................
2940 REM
2950 FOR I=8 TO 1 STEP -1
2960 PRINT CHR$(27);"Y";CHR$(44+I);CHR$(71-I);"x"
2970 PRINT CHR$(27);"Y";CHR$(44+I);CHR$(71+I);"y"
2980 IF I > 6 THEN 3010
2990 PRINT CHR$(27);"Y";CHR$(46+I);CHR$(69-I);" "
3000 PRINT CHR$(27);"Y";CHR$(46+I);CHR$(73+I);" "
3010 NEXT I
3020 PRINT CHR$(27);"Y.E ";CHR$(27);"Y.I ";CHR$(27);"Y-F ";CHR$(27);"Y-H "
3030 IF FX<>44 OR FY<>70 THEN 3190
3040 IF KM>5000 THEN 2790
3050 PRINT CHR$(27);"p";CHR$(27);"Y8? ENEMY DESTROYED ":DG=0
3060 PRINT CHR$(27);"p":ED=ED+1
3070 PRINT CHR$(27);"Y";CHR$(FX-1);CHR$(FY);"ppp"
3080 PRINT CHR$(27);"Y";CHR$(FX);CHR$(FY-1);" "
3090 PRINT CHR$(27);"q";CHR$(27);"Y";CHR$(FX+1);CHR$(FY);"ppp"
3100 FOR I=1 TO 25:PRINT CHR$(7);:NEXT I
3110 PRINT CHR$(27);"Y";CHR$(FX);CHR$(FY);"iii"
3120 FOR I=1 TO 25: NEXT I
3130 PRINT CHR$(27);"Y";CHR$(FX-1);CHR$(FY);" "
3140 PRINT CHR$(27);"Y";CHR$(FX);CHR$(FY-1);" iii "
3150 PRINT CHR$(27);"Y";CHR$(FX+1);CHR$(FY);" "
3160 FOR I=1 TO 25: NEXT I
3170 PRINT CHR$(27);"Y";CHR$(FX);CHR$(FY);" "
3180 FQ=0:IF ED=5 THEN 3860 ELSE 2790
3190 IF FX<43 OR FX>45 THEN 3310
3200 IF FY<68 OR FY>72 THEN 3310
3210 LET DG=DG+1:IF DG=3 THEN 3050
3220 PRINT CHR$(27);"Y";CHR$(FX-1);CHR$(FY);"iii"
3230 PRINT CHR$(27);"Y";CHR$(FX);CHR$(FY-1);"i"
3240 PRINT CHR$(27);"Y";CHR$(FX);CHR$(FY+3);"i"
3250 PRINT CHR$(27);"Y";CHR$(FX+1);CHR$(FY);"iii"
3260 FOR I=1 TO 250: NEXT I
3270 PRINT CHR$(27);"Y";CHR$(FX-1);CHR$(FY);" "
3280 PRINT CHR$(27);"Y";CHR$(FX);CHR$(FY-1);" "
3290 PRINT CHR$(27);"Y";CHR$(FX);CHR$(FY+3);" "
3300 PRINT CHR$(27);"Y";CHR$(FX+1);CHR$(FY);" ":GOTO 2790
3310 PRINT CHR$(27);"Y8 ";CHR$(27);"l"
3320 GOTO 2790
3330 REM
3340 REM ...................FIGHTER POSITION UPDATE ROUTINE................
3350 REM
3360 IF FQ=1 THEN 3430 ELSE FQ=1
3370 LET FX=INT(100*RND(1))
3380 IF FX<36 OR FX>52 THEN 3370
3390 LET FY=INT(200*RND(1))
3400 IF FY<44 OR FY>97 THEN 3390
3410 LET KM=INT(10000*RND(1))
3420 FZ=INT(16*RND(1))
3430 IF INT(100*RND(1))>6 THEN 3450
3440 FZ=INT (16*RND(1))
3450 IF INT(10*RND(1))<A9 THEN 3460 ELSE X=FX:Y=FY:GOTO 3620
3460 IF FZ<>0 THEN 3470 ELSE X=FX-1:Y=FY+1
3470 IF FZ<>1 THEN 3480 ELSE S=FX:Y=FY+1
3480 IF FZ<>2 THEN 3490 ELSE X=FX+1:Y=FY+1
3490 IF FZ<>3 THEN 3500 ELSE X=FX+1:Y=FY
3500 IF FZ<>4 THEN 3510 ELSE X=FX+1:Y=FY-1
3510 IF FZ<>5 THEN 3520 ELSE X=FX:Y=FY-1
3520 IF FZ<>6 THEN 3530 ELSE X=FX-1:Y=FY-1
3530 IF FZ<>7 THEN 3540 ELSE X=FX-1:Y=FY
3540 IF FZ<>8 THEN 3550 ELSE X=FX-1:Y=FY+2
3550 IF FZ<>9 THEN 3560 ELSE X=FX-1:Y=FY+3
3560 IF FZ<>10 THEN 3570 ELSE X=FX+1:Y=FY+3
3570 IF FZ<>11 THEN 3580 ELSE X=FX+1:Y=FY+2
3580 IF FZ<>12 THEN 3590 ELSE X=FX+1:Y=FY-2
3590 IF FZ<>13 THEN 3600 ELSE X=FX+1:Y=FY-3
3600 IF FZ<>14 THEN 3610 ELSE X=FX-1:Y=FY-3
3610 IF FZ<>15 THEN 3620 ELSE X=FX-1:Y=FY-2
3620 IF FL$<>"1" THEN 3630 ELSE X=X-1:Y=Y+1
3630 IF FL$<>"2" THEN 3640 ELSE X=X-2:Y=Y
3640 IF FL$<>"3" THEN 3650 ELSE X=X-1:Y=Y-1
3650 IF FL$<>"4" THEN 3660 ELSE X=X:Y=Y+2
3660 IF FL$<>"6" THEN 3670 ELSE X=X:Y=Y-2
3670 IF FL$<>"7" THEN 3680 ELSE X=X+1:Y=Y+1
3680 IF FL$<>"8" THEN 3690 ELSE X=X+2:Y=Y
3690 IF FL$<>"9" THEN 3700 ELSE X=X+1:Y=Y-1
3700 IF X>39 AND X<50 AND Y>55 AND Y<87 THEN 3740
3710 IF SGN(KM)=+1 THEN KM=KM+INT(200*RND(1))
3720 IF SGN(KM)=-1 THEN KM=KM-INT(200*RND(1))
3730 IF KM<10000 THEN 3760 ELSE 3830
3740 IF SGN(KM)=+1 THEN KM=KM-INT(200*RND(1))
3750 IF SGN(KM)=-1 THEN KM=KM+INT(200*RND(1))
3760 IF X<36 OR X>52 OR Y<42 OR Y>98 THEN 3830
3770 IF X=FX AND Y=FY THEN RETURN
3780 PRINT CHR$(27);"Y";CHR$(FX);CHR$(FY);" ":FX=X:FY=Y
3790 PRINT CHR$(27);"Y";CHR$(FX);CHR$(FY);"v^t"
3800 PRINT CHR$(27);"Y 5";KM
3810 EV=10*(44-FX):PRINT CHR$(27);"Y K";EV
3820 BR=3*(FY-70):PRINT CHR$(27);"Y ";BR:RETURN
3830 PRINT CHR$(27);"Y";CHR$(FX);CHR$(FY);" "
3840 FQ=0:RETURN
3850 PRINT CHR$(27);"Y8 ";CHR$(27);"l":RETURN
3860 FOR I=1 TO 500:NEXT I:PRINT CHR$(27);"y1";CHR$(27);"Y ";CHR$(27);"E"
3870 PRINT CHR$(27);"q";CHR$(27);"Y( ";CHR$(27);"G"
3880 PRINT ,"CONGRATULATIONS ON A JOB WELL DONE. YOU HAVE"
3890 PRINT ,"DESTROYED DARTH VADER AND HIS STORM TROOPERS "
3900 PRINT ,"AND HAVE SAVED THE REBELLION.":GOTO 3950
3910 PRINT CHR$(27);"E";CHR$(27);"Y( "
3920 PRINT ,"YOU HAVE ONLY DESTROYED";ED;"TIE FIGHTERS AND";CHR$(27);"y1"
3930 PRINT ,"YOU LET DARTH VADER GET AWAY. OH WELL,I GUESS";CHR$(27);"G"
3940 PRINT ,"WE WANT HIM AROUND FOR THE SEQUEL ANYWAY!"
3950 PRINT:PRINT ,"DO YOU WANT TO PLAY AGAIN <Y or N>?"
3960 A$=INPUT$(1):IF A$="Y"THEN 1820ELSE IF A$<>"N"THEN 3960ELSE 1000
950 PRINT:PRINT ,"DO YOU WANT TO PLAY AGAIN <Y or N>?"
3960 A$=INPUT$(1):IF A$="Y"THEN 1820ELSE IF A$<>


# 2010-02-15 21:55:20 - official description - source code

Technical specs

display: text

Tags (12)

video game
culture
historical
other
software
vehicles
locations
activities

Contributors (2)

zerothis
Sanguine

Post an anonymous comment / review about this game.

Rate and review

LIKE
PLAYED
FINISHED
OWN
PLAYING
WANT
View the full gallery