60 GOSUB 860
70 SPEED KEY 1,1:ON BREAK GOSUB 820
80 INK 0,0:INK 1,24:INK 2,20:INK 3,6:PAPER 0:BORDER 0:MODE 1
85 SYMBOL AFTER 238:SYMBOL 238,0,16,0,0,0,132,0,0:SYMBOL 239,32,0,0,0,8,0,0,0:SYMBOL 240,16,0,0,130,0,0,16,0
87 SYMBOL 241,0,0,4,128,0,0,0,0:SYMBOL 242,136,0,0,4,64,0,0,128:SYMBOL 243,129,0,8,0,129,0,0,64
90 SYMBOL 244,192,195,199,255,255,199,195,192:SYMBOL 245,3,195,227,255,255,227,195,3
95 SYMBOL 246,33,68,37,40,157,34,34,17:SYMBOL 247,161,178,65,41,159,138,113,81:SYMBOL 248,2,128,144,0,130,16,64,144:SYMBOL 249,49,0,144,1,1,68,2,136:SYMBOL 250,194,36,1,145,0,132,128,66
97 SYMBOL 251,1,69,17,64,152,1,129,100
100 ALIENX=30:ALIENY=10:SCORE=0:ESCAPED=0:AMMO=100
110 PEN 1:LOCATE 1,1:PRINT STRING$(40,CHR$ (181)):LOCATE 1,20:PRINT STRING$(40,CHR$ (181)):FOR T=2 TO 19:LOCATE 1,T:PRINT CHR$(181):LOCATE 40,T:PRINT CHR$(181):NEXT T
120 PEN 3:LOCATE 5,22:PRINT "SCORE.....":LOCATE 5,23:PRINT "ESCAPED...":LOCATE 5,24:PRINT "AMMO......"
130 ALIEN$=CHR$(244)+CHR$(245)
135 E$(1)=CHR$(246)+CHR$(247):E$(2)=CHR$(250)+CHR$(11)+CHR$(8)+CHR$(248)+CHR$(249)+CHR$(8)+CHR$(10)+CHR$(251)
140 E$(3)=CHR$(8)+CHR$(11)+CHR$(238)+CHR$(239)+CHR$(240)+CHR$(10)+STRING$(3,8)+CHR$(241)+CHR$(242)+CHR$(243):E$(4)="   "+CHR$(10)+STRING$(3,8)+"   "
160 :
170 LOCATE ALIENX,ALIENY
180 PEN 2:PRINT ALIEN$
190 MOVE 320,238:DRAW 320,258,1:MOVE 321,238:DRAW 321,258,1:MOVE 310,248:DRAW 330,248,1
200 OLDX=ALIENX:OLDY=ALIENY
210 XDIR=(INKEY (31) > -1)-(INKEY (39) > -1)
220 ALIENX=ALIENX+XDIR
230 YDIR=(INKEY (71) > -1)-(INKEY (69) > -1)
240 ALIENY=ALIENY+YDIR
250 ALIENX=ALIENX+(((ALIENX < 21)-(ALIENX > 20))/4)
260 ALIENY=ALIENY+(((ALIENY < 12)-(ALIENY >10))/4)
270 ALIENX=ALIENX+(CINT (RND (1))/2):ALIENY=ALIENY+(CINT (RND (1))/2)
280 IF ALIENX < 2 OR ALIENX > 37 OR ALIENY < 2 OR ALIENY > 19 THEN GOSUB 580
300 IF INKEY (47) > -1 THEN GOSUB 360
310 LOCATE OLDX,OLDY:PRINT "  "
320 GOTO 170
330 :
360 PLOT 8,96:DRAW 320,248,2:PLOT 632,96:DRAW 320,248,2
370 SOUND 1,0,30,15,1,1,1
380 AMMO=AMMO-1
390 LOCATE 16,24
400 PEN 3:PRINT AMMO; "  "
410 IF AMMO=0 THEN GOTO 680
420 PEN 0
430 PLOT 8,96:DRAW 320,248,0
440 PLOT 632,96:DRAW 320,248,0
460 IF CINT (OLDX)=20 AND CINT (OLDY)=10 THEN GOTO 470 ELSE RETURN
465 :
470 MOVE 320,238:DRAW 320,258,0:MOVE 321,238:DRAW 321,258,0:MOVE 310,248:DRAW 330,248,0:ENV 2,7,-1,10,8,-1,40
473 SOUND 1,200,200,15,2,2,2
475 FOR T1=1 TO 3:LOCATE 20,10:PEN 2:INK 2,26:PRINT E$(T1):FOR T2=1 TO 300:NEXT:LOCATE 19,9:PRINT E$(4):NEXT
477 INK 2,20
490 SCORE=SCORE+1
500 LOCATE 16,22
510 PEN 3:PRINT SCORE
520 ALIENY=CINT (RND (1)*10)+5
530 ALIENY=CINT (RND (1)*10)+5
540 RETURN
550 :
580 ESCAPED=ESCAPED+1
590 SOUND 2,100,25,1,1,1
600 ALIENX=CINT (RND (1)*20)+10
610 ALIENY=CINT (RND (1)*10)+5
620 LOCATE 16,23
630 PEN 3:PRINT ESCAPED
640 IF ESCAPED < 10 THEN RETURN
650 :
680 MODE 0
690 LOCATE 5,11
700 PRINT "GAME OVER!"
710 PRINT "SCORE...."; SCORE
720 FOR T=1 TO 10
730 FOR N=1000 TO 0 STEP -100
740 SOUND 1,N,3,15,0,0,0
750 NEXT N
760 NEXT T
770 FOR T=26 TO 0 STEP -1:INK 1,T:FOR N=1 TO 50:NEXT N:NEXT T:CLS:INK 1,24
780 A$ = INKEY$ : IF A$ = "" THEN GOTO 780 ELSE RUN
790 :
820 SPEED KEY 35,1:STOP
830 :
860 MODE 0
870 LOCATE 1,5
880 PRINT " 'A' ...... UP"
890 PRINT " 'Z' ...... DOWN"
900 PRINT " ',' ...... LEFT"
910 PRINT " '.' ...... RIGHT"
920 PRINT " SPACE..... FIRE"
930 INK 3,8,22
940 PEN 3
950 PRINT
960 PRINT
970 PRINT "     Space Wars"
980 A$ = INKEY$ : IF A$ = "" THEN GOTO 980 ELSE PEN 1 : MODE 2 : RETURN