1 REM *** BBC VERSION *** 2 REM *** GALAXIANS *** 10 REM CONVERTED TO 32K BBC MICRO BY C.R.T ANNER 20 MODE 7:VDU 23;8202;0;0;0; 30 hs=0 40 GOSUB 960 50 MODE 1:COLOUR 3:VDU 28,4,27,35,4,23;820 2;0;0;0;19,1,4,0,0,0,19,2,5,0,0,0 60 VDU 23,224,34,35,36,62,15,7,2,14 70 VDU 23,225,36,196,228,252,240,224,64,11 2 80 VDU 23,226,2,3,7,63,39,39,34,3 90 VDU 23,227,64,192,32,124,228,228,68,192 100 VDU 23,228,128,&A6,242,123,61,47,39,3 110 VDU 23,229,1,105,79,222,188,244,196,192 120 VDU 23,230,0,240,248,252,14,6,6,6 130 VDU 23,231,145,82,0,3,192,0,74,145 140 VDU 23,232,7,31,127,170,170,127,31,7 150 VDU 23,233,255,255,255,170,170,255,255, 255 160 VDU 23,234,192,240,252,170,170,252,240, 192 170 VDU 23,235,18,19,18,28,4,2,1,1 180 VDU 23,236,72,200,72,56,32,64,128,128 190 VDU 23,237,1,31,63,127,225,193,192,192 200 x=15:sc=0:l=3:m=RND(18):g=3:h=INT(RND(1 8)) 210 a$=" "+STRING$(6,CHR$(224)+CHR$(225)+" ") 220 b$=" "+STRING$(6,CHR$(226)+CHR$(227)+" "):c$=STRING$(19," ") 230 d$=" "+STRING$(2,CHR$(228)+CHR$(229)+" ") 240 dir=1:y=0 250 hit=0 260 COLOUR 3:PRINT TAB(17,0);"HIGH-SCORE:"; hs 270 COLOUR 1:PRINT TAB(y,2);a$ 280 FOR A%=1 TO 6:SOUND 1,-15,100,0:TIME=0: REPEAT UNTIL TIME>1:NEXT 290 COLOUR 1:PRINT TAB(y,2);b$ 300 FOR A%=1 TO 3:SOUND 1,-15,130,0:TIME=0: REPEAT UNTIL TIME>1:NEXT 310 x=x-2*(INKEY(-67) AND x<25)+2*(INKEY(-9 8) AND x>1) 320 PRINT TAB(x,21);" "+CHR$(237)+CHR$(230 )+" " 330 IF INKEY(-102) THEN ELSE GOTO 360 340 GOTO 480 350 COLOUR 3:PRINT TAB(0,0);"SCORE:";sc 360 y=y+dir 370 IF y=0 OR y=13 THEN dir=-dir 380 PRINT TAB(m,l);" " 390 l=l+1:m=m+RND(4)-RND(4) 400 IF l=21 THEN l=3:d$=" "+STRING$(2,CHR$( 228)+CHR$(229)+" ") 410 IF m>25 THEN m=12 420 IF m<0 THEN m=12 430 COLOUR 2:PRINT TAB(m,l);d$ 440 PRINT TAB(h,g);" " 450 g=g+3:PRINT TAB(h,g);CHR$235+CHR$236:IF g=21 THEN g=3:PRINT TAB(h,21);" ":h1=h:h=IN T(RND(17)+1):IF h1=x+3 OR h1=x+2 OR h1=x+1 TH EN GOTO 860 460 IF RND(1)>.8 THEN IF d$<>" " THEN GOTO 740 470 GOTO 260 480 IF POINT(128+(x*8+23)*4,192+((21-l)*8+4 )*4)=2 THEN GOTO 580 490 IF POINT(128+(x*8+23)*4,816)=1 THEN hit =1 500 GCOL3,2:PLOT 69,128+(x*8+23)*4,224:PLOT 1,0,584 510 SOUND 1,-15,80,1 520 GCOL3,2:PLOT 69,128+(x*8+23)*4,224:PLOT 1,0,584 530 IFhit<>1 THEN GOTO 550 ELSE a$=MID$(a$, 1,(x+2-y)-1)+" "+MID$(a$,(x+4-y)+1,(LEN(a$) -(x+4-y)+1)):b$=MID$(b$,1,(x+2-y)-1)+" "+MI D$(b$,(x+4-y)+1,(LEN(b$)-(x+4-y)+1)) 540 sc=sc+10:PRINTTAB(x+1,2);CHR$231+CHR$23 1+CHR$231:FORf=0TO15:SOUND 1,-15,30+f,1:NEXT: PRINTTAB(x+1,2);" " 550 hit=0 560 IF a$=c$ THEN GOTO 640 570 GOTO 350 580 IF g=1 THEN IF h=x+1 OR h=x+2 THEN GOTO 350 590 GCOL3,2:PLOT 69,128+(x*8+23)*4,224:PLOT 1,0,((21-l)*8-8)*4 600 SOUND 1,-15,80,1 610 GCOL3,2:PLOT 69,128+(x*8+23)*4,224:PLOT 1,0,((21-l)*8-8)*4 620 d$=MID$(d$,1,x+1-m)+" "+MID$(d$,x+5-m ,(LEN(d$)-x+3-m)):sc=sc+20:PRINT TAB(x+1,l);C HR$231+CHR$231+CHR$231:FOR f=0TO15:SOUND 1,-1 5,30+f,1:NEXT f:PRINTTAB(x+1,l);" " 630 GOTO 350 640 FOR f=0 TO 15 650 PRINT TAB(f,7);" "+CHR$232+CHR$233+CH R$234 660 IF f=0 OR f=3 OR f=6 OR f=9 OR f=12 O R f=15 THEN COLOUR 1:PRINT TAB(f+1,2);CHR$224 +CHR$225 670 NEXT f 680 FOR f=14 26 STEP 2 690 SOUND 1,-15,30,1 700 PRINT TAB(f,7);" "+CHR$232+CHR$233+ CHR$234 710 NEXT f 720 PRINT TAB(28,7);" " 730 GOTO 210 740 IF MID$(d$,2,1)<>CHR$228 THEN GOTO 800 750 GCOL3,2:PLOT 69,128+(m*8+16)*4,192+((21 -l)*8-1)*4:PLOT 1,0,(9-(21-l)*8)*4 760 FOR f=38 TO 42:SOUND 1,-15,f,1:NEXT f 770 GCOL3,2:PLOT 69,128+(m*8+16)*4,192+((21 -l)*8-1)*4:PLOT 1,0,(9-(21-l)*8)*4 780 IF POINT(128+(m*8+16)*4,208)=1 THEN GOT O 860 790 COLOUR 3:GOTO 270 800 IF g=l AND h=x+1 OR h=x+1 THEN GOTO 270 810 GCOL3,2:PLOT 69,128+(m*8+36)*4,192+((21 -l)*8-1)*4:PLOT 1,0,(9-(21-l)*8)*4 820 FOR f=38 TO 42:SOUND 1,-15,f,1:NEXT f 830 GCOL3,2:PLOT 69,128+(m*8+36)*4,192+((21 -l)*8-1)*4:PLOT 1,0,(9-(21-l)*8)*4 840 IF POINT(128+(m*8+36)*4,208)=1 THEN GOT O 860 850 COLOUR3:GOTO 270 860 FOR f=1 TO 15 870 PRINT TAB(x+2,21);CHR$231+CHR$231 880 SOUND 1,-15,RND(30),1 890 NEXT f 900 PRINT TAB(x+2,21);" " 910 IF sc>hs THEN hs=sc 920 COLOUR 3:PRINT TAB(8,10);"G A M E O V E R";TAB(2,18);"PRESS ANY KEY TO PLAY AGAIN" 930 *FX15,1 940 IF INKEY$(1000)="" THEN GOTO 940 950 FOR f=1 TO 100:NEXT f:CLS:COLOUR 3:GOTO 200 960 PRINT TAB(0,0);CHR$(141);CHR$(129);"--- ---------- GALAXIAN -------------"'CHR$(141); CHR$(130);"------------- GALAXIAN ----------- --" 970 PRINT '"Fleet after fleet, the invaders form andwait to attack. Some of them dive do wn to earth firing lasers as they do."; 980 PRINT" The invaders in the formation d rop dangerousbombs to try and destroy your la ser base. Diving invaders are worth more poin ts."; 990 PRINT"As soon as 1 fleet of invaders ha ve beendestroyed their mother-ship will arran gea new battle-line." 1000 PRINT'CHR$(132);" Your controls are:- " 1010 PRINT''TAB(10);CHR$(133);"Z";CHR$(134); "....To move left" 1020 PRINT'TAB(10);CHR$(133);"X";CHR$(134);" ...To move right" 1030 PRINT'TAB(10);CHR$(133);"M";CHR$(134);" ...To fire laser canon" 1040 PRINT TAB(6,24);CHR$(136);"PRESS ANY KE Y TO START"; 1050 IF INKEY$(1000)="" THEN GOTO 1050 ELSE RETURN