Star Blast

Date: 198x
Type: Program
Platform(s): TS 2068

Shoot the aliens.

Appears on

One of a series of library tapes. Programs on these tapes were renamed to a number series. This tape contained programs 20083 to 20120. These tapes were compiled by Tony Willing.

Gallery

Star Blast

Source Code

  200 DIM a$(4,32)
  220 LET n=15
  230 LET tm=0
  240 LET s$="                "
  245 PAPER 1: BRIGHT 1
  250 FOR j=0 TO 21
  260 PRINT AT j,0;s$;s$
  270 NEXT j
  280 LET pr=0
  290 INK 7: PRINT AT 21,11;"Score "
  300 LET limit=800
  500 POKE USR "a",BIN 00011000
  510 POKE USR "a"+1,BIN 00011000
  520 POKE USR "a"+2,BIN 00111100
  530 POKE USR "a"+3,BIN 00111100
  540 POKE USR "a"+4,BIN 01111110
  550 POKE USR "a"+5,BIN 01100110
  560 POKE USR "a"+6,BIN 11000011
  570 POKE USR "a"+7,BIN 11000011
  600 POKE USR "b",BIN 00011000
  610 POKE USR "b"+1,BIN 00011000
  620 POKE USR "b"+2,BIN 00011000
  630 POKE USR "b"+3,BIN 00011000
  640 POKE USR "b"+4,BIN 00011000
  650 POKE USR "b"+5,BIN 00011000
  660 POKE USR "b"+6,BIN 00100100
  670 POKE USR "b"+7,BIN 00000000
  700 POKE USR "c",BIN 00000000
  710 POKE USR "c"+1,BIN 011111110
  720 POKE USR "c"+2,BIN 11111111
  730 POKE USR "c"+3,BIN 00011000
  740 POKE USR "c"+4,BIN 00111100
  750 POKE USR "c"+5,BIN 01111110
  760 POKE USR "c"+6,BIN 11111111
  770 POKE USR "c"+7,BIN 00011000
  900 LET sta=15
  910 FOR i=1 TO 4
  930 FOR j=1 TO 32
  940 LET a$(i,j)=" "
  950 NEXT j
  960 NEXT i
  970 LET scr=0
  980 GO SUB 3000
  985 GO SUB 4000
 1010 IF |(1,1)=4 THEN GO TO 1100
 1020 IF |(1,1)=8 THEN GO TO 1150
 1030 IF |(2,1)=1 THEN GO TO 1060
 1050 GO TO 1200
 1060 LET pr=1: LET s=19: LET c=sta
 1070 GO TO 1200
 1100 IF sta-1<0 THEN GO TO 1200
 1110 PRINT AT 20,sta;" "
 1120 LET sta=sta-1
 1130 GO TO 1200
 1150 IF sta+1>31 THEN GO TO 1200
 1160 PRINT AT 20,sta;" "
 1170 LET sta=sta+1
 1180 GO TO 1200
 1200 INK 6: PRINT AT 20,sta;"\a"
 1210 IF pr=0 THEN GO TO 1260
 1220 IF s<=7 AND s/2<>INT (s/2) THEN GO SUB 6000
 1230 INK 6: PRINT AT s,c;"\b"
 1240 PAUSE 3: PRINT AT s,c;" "
 1250 LET s=s-2
 1260 LET tm=tm+8
 1265 IF tm/50=INT (tm/50) THEN GO SUB 5000
 1270 IF tm=limit THEN GO TO 9000
 1280 IF left=0 THEN GO TO 1300
 1290 GO TO 1010
 1300 GO TO 1010
 1310 GO SUB 4000
 1320 GO TO 1010
 3000 IF n<100 THEN LET n=n+5
 3005 LET limit=limit+500: LET left=n
 3010 FOR k=1 TO n
 3020 LET x=INT (RND*4)+1
 3030 LET y=INT (RND*32)+1
 3040 IF a$(x,y)<>" " THEN GO TO 3020
 3050 LET a$(x,y)="\c"
 3060 NEXT k
 3070 RETURN 
 4000 FOR k=1 TO 4
 4010 INK 7: PRINT AT (k-1)*2+1,0;a$(k,1 TO 32)
 4020 NEXT k
 4030 RETURN 
 5000 FOR k=1 TO 4
 5010 LET h$=a$(k,1 TO k)
 5020 LET a$(k,1 TO 32-k)=a$(k,k+1 TO 32)
 5030 LET a$(k,32-k+1 TO )=h$
 5040 NEXT k
 5050 GO SUB 4000
 5080 RETURN 
 6000 FOR k=4 TO 1 STEP -1
 6010 IF a$(k,c+1)="\c" AND s=(k-1)*2+1 THEN GO TO 6100
 6020 NEXT k
 6030 IF s>0 THEN RETURN 
 6040 GO TO 6120
 6100 LET a$(k,c+1)=" "
 6103 PRINT AT (k-1)*2+1,c;" "
 6105 LET left=left-1
 6110 LET scr=scr+100
 6115 GO SUB 7000
 6120 LET pr=0
 6130 RETURN 
 7000 BEEP 0.01,2
 7010 PRINT AT 21,17;scr
 7020 FLASH 0
 7030 RETURN 
 9000 BRIGHT 0
 9010 INK 0
 9020 GO TO 200
 9997 SAVE "star blast"
 9998 STOP 

People

No people associated with this content.

Scroll to Top