Invaders 45 470 IF INKEY(1)=32 THEN LOCATE XP+1,21:P RINT " ";:XP=XP+V:XP=-27*(XP>27)—XP*( XP<=27):LOCATE XP+1,21:PEN 2:PRINT T$;:P EN 1:GOTO 130 480 GOTO 130 490 REM ROCKET FIRE 500 XN=(XP—U+W)*T:XS=XN—W*INT(XN/W):IF ( XS<>T AND XS<>T+T) THEN GOTO 130 510 RR=RR-1:LOCATE 31,23:PRINT" ";:LOCA TE 31,23:PRINT MIDS(STR$(RR),2); 520 LOCATE XP+T,20:PEN 3:PRINT CHR$(244) ;:PEN 1 530 IF RR<1 THEN TC=U 540 R=18 550 LOCATE XP+T,R+U:CALL 360:KK=PEEK(367 ):IF KK=32 THEN 580 560 RA=(R=0)*(A>0):SC=SC+20-180*(RA=U):F OR X=U TO V+2*(RA=0):LOCATE XP+T,R+T:PRI NT" ";:LOCATE XP+T,R+U:PRINT M$;:SOUND 1 ,60—V*X,3:FOR Y=U TO 8:NEXT:LOCATE XP+T, R+U:PRINT" ";:FOR Y=U TO V:NEXT Y,X:LOCA TE XP+U,R+U:PRINT" ";:LOCATE XP+T,20:P RINT" "; 570 LOCATE 7,23:PRINT" ";:LOCATE 7,23 :PRINT MID$(STR$(SC),2);:GOTO 610 580 IF R<>0 THEN 600 590 LOCATE XP+T,20:PRINT" ";:LOCATE XP+T ,1:PRINT CHR$(244);:LOCATE W+U,22:PRINT" MISS!";:SOUND 1,1500,4:FOR X=U TO 80:NEX T:SC=SC—W:LOCATE 7,23:PRINT" ";:LOCAT E 7,23:PRINT MID$(STR$(SC),2);:LOCATE W+ U,22:PRINT" ";:LOCATE XP+T,1:PRINT" ";:GOTO 130 600 R=R-1: GOTO 550 610 IF R>=A THEN I(P*(R—A)+U+INT((XP+1)/ 4))=1 620 GOTO 130 630 REM INVASION 640 FOR X=1 TO 10:J$(X)="":NEXT X:J$(1)= STRING$(32,32) 650 LOCATE 16,22:PEN 3:PRINT" TAKE COVE R!! 0 ";:PEN 1 660 FOR X=49 TO U STEP —U:IF I(X)=1 THEN NEXT X