Star Blasters

Developer(s): Dan Tandberg
Date: 198x
Type: Program
Platform(s): TS 1000

Content

Appears On

Assembled by Tim Ward from many sources. Contains programs 10001 – 10050.

Related Products

Related Articles

In “Starblasters” you must defend a sector of space from the invading alien spaceships. Your weapon is a powerful ion...

Related Content

Image Gallery

Star Blasters

Source Code

   1 REM "STARBLASTERS"
   2 REM 
   3 REM DAN TANDBERG
   4 REM SYNC MAGAZINE
   5 REM JANUARY/FEBRUARY 1983
  10 REM 
  20 GOSUB 1370
  30 LET TOTAL=0
  40 LET WAVE=1
  50 GOSUB 800
  60 SLOW 
  70 GOTO 190
  80 REM %Y%O%U% %F%I%R%E% % % % % % % % % % % % % % % 
  90 LET CAT=29-C
 100 LET U=C+3
 110 PRINT AT R,U;A$( TO CAT);AT R,U;C$( TO CAT);AT R,U;E$( TO CAT);AT R,U;F$( TO CAT);AT R,U;G$( TO CAT);AT R,U;X$( TO CAT)
 120 IF R=RA THEN GOTO 470
 130 LET FIRE=FIRE+(.4-D/10)
 140 RETURN 
 150 REM %A%L%I%E%N% %F%I%R%E% % % % % % % % % % % % % 
 160 PRINT AT RA,0;J$( TO CA);AT RA,0;H$( TO CA);AT RA,0;J$( TO CA);AT RA,0;H$( TO CA);AT RA,0;I$( TO CA);AT RA,0;X$( TO CA)
 170 IF R=RA THEN GOTO 380
 180 RETURN 
 190 REM %M%O%V%E% % % % % % % % % % % % % % % % % % % 
 200 LET RAX=RA
 210 LET CAX=CA
 220 LET RX=R
 230 LET CX=C
 240 LET C=C+1
 250 LET CA=CA-1
 260 LET RA=RA+(RND<.5 AND RA<16)-(RND>.5 AND RA>2)
 270 PRINT AT RAX,CAX;R$;AT RA,CA;Z$
 280 LET R=R+(INKEY$="6" AND R<18)-(INKEY$="7" AND R>2)
 290 PRINT AT RX,CX;R$
 300 PRINT AT R,C;Y$
 310 IF RND<(FIRE+DIFF) THEN GOSUB 150
 320 IF C>=CA THEN GOTO 590
 330 REM %D%E%L%A%Y% %F%O%R% %F%I%R%E% % % % % % % % % 
 340 FOR I=1 TO D
 350 NEXT I
 360 IF INKEY$="1" THEN GOSUB 80
 370 GOTO 190
 380 REM %Y%O%U% %H%I%T% % % % % % % % % % % % % % % % 
 390 PRINT AT R,C;"% %.%.% ";AT R,C;"%.%.%.%.";AT R,C;"%.% % %.";AT R,C;"% % % % ";AT R-1,C;"%.% % %.";AT R+1,C;"%.% % %.";AT R-1,C;"% % % % ";AT R+1,C;"% % % % "
 400 LET R=RA-(RA>=10)*INT (RND*D+2)+(RA<10)*INT (RND*D+2)
 410 LET C=0
 420 LET SHIPS=SHIPS-1
 430 PRINT AT 21,3;"SHIPS= ";SHIPS
 440 IF SHIPS<=0 THEN GOTO 1170
 450 LET FIRE=0
 460 GOTO 190
 470 REM %A%L%I%E%N% %H%I%T% % % % % % % % % % % % % % 
 480 PRINT AT R,CA;"% %.%.% ";AT R,CA;"%.%.%.%.";AT R,CA;"%.% % %.";AT R,CA;"% % % % ";AT R-1,CA;"%.% % %.";AT R+1,CA;"%.% % %.";AT R-1,CA;"% % % % ";AT R+1,CA;"% % % % "
 490 LET RA=R-(R>=10)*INT (RND*6)+(R<10)*INT (RND*8)
 500 LET CA=28
 510 LET ALIENS=ALIENS-1
 520 PRINT AT R,C;R$
 530 LET C=0
 540 PRINT AT 21,20;"ALIENS ";ALIENS;" "
 550 IF ALIENS<=0 THEN GOTO 1270
 560 LET DIFF=DIFF+.3/(D*WAVE*5)
 570 LET FIRE=0
 580 GOTO 190
 590 REM %O%V%E%R%R%U%N% % % % % % % % % % % % % % % % 
 600 PRINT AT R,C;"% %.%.% ";AT R,C;"%.%.%.%.";AT R,C;"%.% % %.";AT R,C;"% % % % ";AT R-1,C;"%.% % %.";AT R+1,C;"%.% % %.";AT R-1,C;"% % % % ";AT R+1,C;"% % % % "
 610 PRINT AT RAX,CAX;R$;AT RA,CA;Z$
 620 IF RND>.5 THEN PRINT AT RA,0;J$( TO CA);AT RA,0;H$;AT RA,0;J$( TO CA);AT RA,0;H$( TO CA);AT RA,0;I$( TO CA);AT RA,0;X$( TO CA)
 630 LET RAX=RA
 640 LET CAX=CA
 650 LET CA=CA-1
 660 LET RA=RA+(RA<=9)-(RA>=11)
 670 IF CA<=0 THEN GOTO 1170
 680 GOTO 610
 690 REM %E%N%D% %O%F% %O%V%E%R%R%U%N% % % % % % % % 
 700 REM %S%E%T% %P%O%S%I%T%I%O%N%S% % % % % % % % % 
 710 LET RA=2+2*INT (RND*8)
 720 LET CA=28
 730 PRINT AT 21,20;"ALIENS ";ALIENS
 740 RETURN 
 750 REM %R%E%S%E%T% %Y%O%U%R% %P%O%S%I%T%I%O%N% % % % 
 760 LET R=RA-(RA>=10)*INT (RND*6)+(RA<10)*INT (RND*6)
 770 LET C=1
 780 PRINT AT 21,3;"SHIPS= ";SHIPS
 790 RETURN 
 800 REM %S%E%T%U%P% % % % % % % % % % % % % % % % % % 
 810 FAST 
 820 CLS 
 830 PRINT AT 0,0;"% % % % %S% %T% %A% %R% %B% %L% %A% %S% %T% %E% %R% %S% % % % % "
 840 FOR I=1 TO 20
 850 PRINT AT I,0;"% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % "
 860 NEXT I
 870 PRINT AT 20,15;CHR$ (128+CODE STR$ D)
 880 REM %L%O%N%G% %S%T%R%I%N%G%S% % % % % % % % % % % 
 890 LET A$="\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\..\.."
 900 LET C$="\!!\!!\!!\!!\!!\!!\!!\!!\!!\!!\!!\!!\!!\!!\!!\!!\!!\!!\!!\!!\!!\!!\!!\!!\!!\!!\!!\!!\!!\!!\!!\!!"
 910 LET E$="%+%+%+%+%+%+%+%+%+%+%+%+%+%+%+%+%+%+%+%+%+%+%+%+%+%+%+%+%+%+%+%+"
 920 LET F$="%=%=%=%=%=%=%=%=%=%=%=%=%=%=%=%=%=%=%=%=%=%=%=%=%=%=%=%=%=%=%=%="
 930 LET G$="%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-%-"
 940 LET H$="\;;\;;\;;\;;\;;\;;\;;\;;\;;\;;\;;\;;\;;\;;\;;\;;\;;\;;\;;\;;\;;\;;\;;\;;\;;\;;\;;\;;\;;\;;\;;\;;"
 950 LET I$="%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%.%."
 960 LET J$="\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''"
 970 LET X$="% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % "
 980 REM %S%H%O%R%T% %S%T%R%I%N%G%S% % % % % % % % % % 
 990 LET Y$="%<%0%>"
\n1000 LET Z$="%<%=%>"
\n1010 LET R$="% % % "
\n1020 REM %I%N%I%T%I%A%L%I%Z%E% % % % % % % % % % % % % 
\n1030 LET SHIPS=5
\n1040 LET FIRE=0
\n1050 LET DIFF=0.1
\n1060 LET ALIENS=WAVE*5
\n1070 GOSUB 700
\n1080 GOSUB 750
\n1090 REM %S%T%A%R%S% % % % % % % % % % % % % % % % % % 
\n1100 RAND 
\n1110 FOR I=1 TO 10
\n1120 PRINT AT 1+INT (RND*19),INT (RND*31);"%*"
\n1130 PRINT AT 1+INT (RND*19),INT (RND*31);"%."
\n1140 PRINT AT 1+INT (RND*19),INT (RND*31);"%."
\n1150 NEXT I
\n1160 RETURN 
\n1170 REM %A%L%I%E%N%S% %W%I%N% % % % % % % % % % % % % 
\n1180 FAST 
\n1190 LET TOTAL=TOTAL+WAVE*5-ALIENS
\n1200 CLS 
\n1210 PRINT AT 4,3;"YOU FAILED---"
\n1220 PRINT AT 8,3;"THE ALIENS GOT THROUGH."
\n1230 PRINT AT 12,3;"YOU DESTROYED ";TOTAL;" SHIPS."
\n1240 PRINT AT 21,3;"(PUSH TO TRY AGAIN.)"
\n1250 PAUSE 10000
\n1260 GOTO 30
\n1270 REM %E%A%R%T%H% %W%I%N%S% % % % % % % % % % % % % 
\n1280 FAST 
\n1290 LET TOTAL=TOTAL+WAVE*5
\n1300 CLS 
\n1310 LET WAVE=WAVE+1
\n1320 PRINT AT 8,3;"CONGRATULATIONS---"
\n1330 PRINT AT 12,3;"A SUCCESSFUL DEFENCE."
\n1340 PRINT AT 21,3;"(BUT WAVE ";WAVE;" IS ON THE WAY.)"
\n1350 PAUSE 600
\n1360 GOTO 50
\n1370 REM %I%N%S%T%R%U%C%T%I%O%N%S% % % % % % % % % % % 
\n1380 FAST 
\n1390 CLS 
\n1400 PRINT """STARBLASTERS"""
\n1410 PRINT 
\n1420 PRINT 
\n1430 PRINT 
\n1440 PRINT "USE KEYS 6 AND 7"
\n1450 PRINT "TO STEER EARTHSHIPS"
\n1460 PRINT 
\n1470 PRINT "USE KEY 1"
\n1480 PRINT "TO BLAST ALIENS."
\n1490 PRINT 
\n1500 PRINT 
\n1510 PRINT "DIFFICULTY:"
\n1520 PRINT "1 IS HARD"
\n1530 PRINT "2 IS MEDIUM"
\n1540 PRINT "3 IS EASY"
\n1550 PAUSE 10000
\n1560 LET D=VAL INKEY$
\n1570 IF D>3 OR D<1 THEN GOTO 1550
\n1580 RETURN 
\n1585 CLEAR 
\n1590 SAVE "1000%7"
\n1600 RUN 
Scroll to Top