100 REM ********************************** 101 REM **** SPACE WAR PROGRAM 1980. **** 102 REM **** FROM C.T. MAR 80 PAGE 28 **** 103 REM ********************************** 104 GOSUB 1400 105 PRINT "D0 YOU NEED INSTRUCTIONS,Y OR N?" 106 REM ------TAKES IN EXCESS OF 4.5 KBYTES--- 107 AA=125 108 YY=238:ZZ=162 109 REM AA=P.E.T No224. 110 GOSUB 2000 120 IF LEFT$(A$,1)="N" THEN 370 121 IF LEFT$(A$,1)="Y" THEN 130 122 PRINT" WELL IS THAT YES OR NO.!!! TRY AGAIN." 125 GOTO 110 130 REM 135 PRINT" YOU ARE THE SOLE DEFENCE OF ROME!" 140 PRINT 150 PRINT"YOUR SHIP IS THE '";CHR$(YY);"' AT THE TOP" 160 PRINT"OF YOUR VIEWSCREEN" 170 PRINT"YOUR TASK IS TO DESTROY AS MANY OF THE" 180 PRINT"ALIEN'S SHIPS AS POSIBLE, OR ELSE!" 190 PRINT"THEY COME IN TWO SIZES, AS SHOWN." 200 PRINT"NO1 IS SHORTRANGE, NO2 IS LONGRANGE." 210 PRINT"NO1. ";CHR$(176);CHR$(233);CHR$(178); 215 PRINT TAB(19);"NO2. ";CHR$(176);CHR$(8);CHR$(178) 217 PRINT" ";CHR$(146);CHR$(32);CHR$(147); 218 PRINT TAB(19);" ";CHR$(190);CHR$(ZZ);CHR$(189) 220 PRINT"THEY MOVE UP FROM THE BOTTOM OF YOUR" 230 PRINT"SCREEN AND YOU USE THE 'SPACE' KEY" 240 PRINT"TO LAUNCH YOUR LASER BOLT." 245 PRINT 250 PRINT" HIT ANY KEY TO CONTINUE" 260 GOSUB 2000 265 POKE 11,112:POKE 12,23:X=USR(X) 275 PRINT"IF YOU DO NOT SCORE A DIRECT HIT YOU" 280 PRINT"WILL NOT DESTROY THE ALIEN CRAFT." 285 PRINT 290 PRINT"YOU CAN CHANGE THE DIRECTION THAT YOU" 300 PRINT"ARE MOVING IN WITH THE 'R' KEY." 305 PRINT 310 PRINT"REMEMBER THAT THE ALIENS SPEED UP " 320 PRINT"THE MORE YOU SHOOT THEM DOWN AND " 330 PRINT"WHEN THEY FIRE THEY NEVER MISS!" 335 PRINT:PRINT 340 PRINT" HIT ANY KEY TO PLAY" 350 GOSUB 2000 360 GOTO 370 370 REM SET UP VARIABLES 380 J=50:R=INT((44)*RND(1))+1 390 REM CLEAR SCREEN ROUTINE 400 POKE 11,112:POKE 12,23:X=USR(X) 410 X=53261:M=1:T=60 420 IF X<53261 THEN M=1 430 IF X>53307 THEN M=-1 440 REM CHECK FOR DIRECTION KEY 450 IF A=223 THEN 470 460 GOTO 490 470 IF M=1 THEN M=-1:GOTO 490 480 M=1 490 X=X+M:POKE X,YY:POKE X-1,32:POKE X+1,32 500 IF PEEK(X+320)=233 OR PEEK(X+320)=8THEN990 510 IF PEEK(X+640)=33 THEN K=x+600:GOTO 1000 520 IF FF=0 THEN 550 530 IF FF=1 THEN GOSUB 630 540 IF FF=1 THEN 420 550 TT=(J-H):T=T+1:IF T176 THEN 780 740 POKE F-64,139:POKE F-65,190:POKE F-1,134 750 FOR Q=0 TO 80:NEXT:POKE F-64,32:POKE F-65,32:POKE F-1,32 760 D=1:RI=1:F=F-1:GOTO 820 770 POKE F-128,32 780 IF PEEK(F)<>178 THEN 820 790 POKE F-64,139:POKE F-63,189:POKE F+1,134 800 FOR Q=0 TO 80:NEXT:POKE F-64,32:POKE F-63,32:POKE F+1,32 810 D=1:LE=1:F=F+1 820 IF F>54203 THEN FF=0:D=0:RI=0:LE=0:POKE F-64,32:RETURN 830 IF D=1 THEN RETURN 840 POKE F,43:POKE F-64,139:POKE F-128,32 850 RETURN 860 REM DESTROY ALIEN ROUTINE 870 POKE F-64,32:POKE F-128,32 880 FOR Q=0 TO 1 890 POKE F-1,43:POKE F+64,232:POKE F+1,169 900 POKE F,AA:POKE F+63,90:POKE F+65,187 910 POKE F-1,187:POKE F+64,142:POKE F+1,AA 920 POKE F,238:POKE F+63,43:POKE F+65,170 930 POKE F-1,32:POKE F+64,32:POKE F+1,32 940 POKE F,32:POKE F+63,32:POKE F+64,32 950 NEXT Q:FF=0 960 IF F=K-64 THEN 640:REM ACTUALY IT WAS 63999 970 D=0:RI=0:LE=0:RETURN 980 REM DESTROY DEFENDER ROUTINE 990 K=X+256:REM SHOULD BE 280: 1000 IF PEEK(K)=238 THEN 1030 1010 POKE K,AA:POKE K+64,32 1020 K=K-64:GOTO 1000 1030 POKE K+64,32 1040 FOR W=1 TO 20:POKE K,229:FOR O=1 TO 10:NEXT O 1050 POKE K,238:FORO=1 TO 10:NEXT O:NEXT W 1060 REM END GAME PRINTOUT 1070 POKE 11,112:POKE 12,23:X=USR(x) 1071 PRINT" YOU DESTROYED";H;"OF THE ALIENS" 1075 PRINT 1080 REM KEYBOARD TRAP 1090 FOR Y=1 TO 10:GOSUB 1500:NEXT Y 1100 IF H2255 THEN 1170 1160 NEXT TI:PRINT 1165 PRINT" BYE NOW!":END 1170 REM RESET VARIABLES THEN RESTART 1180 J=50:H=0:D=0:RI=0:LE=0:GOTO 380 1190 REM REBOUND BOLT ROUTINES 1200 IF LE=1 THEN K=65:GOTO 1220:REM K=41 IN MAG 1210 K=63:REM K=39 IN MAG 1220 F=F+K:IF F>54203 THEN POKEF-K,32:FF=0:D=0:RI=0:LE=0:RETURN 1230 IF PEEK(F)<>32 THEN POKE F-K,32:H=H+1:GOTO 1250 1240 POKE F,46:POKE F-K,32:RETURN 1250 IF PEEK(F+1)=233 OR PEEK(F+1)=8 THEN F=F+1:GOTO 870 1260 IF PEEK(F)=233 OR PEEK(F)=8 THEN 870 1270 IF PEEK(F-1)=233 OR PEEK(F-1)=8 THEN F=F-1:GOTO 870 1280 IF PEEK(F-65)=233 OR PEEK(F-65)=8 THEN F=F-65:GOTO 870 1290 IF PEEK(F-63)=233 OR PEEK(F-63)=8 THEN F=F-63:GOTO 870 1300 IF PEEK(F+65)=233 OR PEEK(F+65)=8 THEN F=F+65:GOTO 870 1400 FOR I=6000 TO 6030 1410 READ J:POKE I,J:NEXT I 1415 RESTORE:RETURN 1420 DATA 169,0,133,225,168,169,208,133,226,169,32 1430 DATA 145,225,200,192,0,208,249,166,226,224 1440 DATA 211,240,6,232,134,226,24,144,237,96 1500 T(1)=253:T(2)=251:T(3)=247:T(4)=239 1510 T(5)=223:T(6)=191:T(7)=127 1520 POKE 530,1:FOR Q=1 TO 7:POKE 57088,T(Q) 1530 A=PEEK(57088):IF A<>255 THEN 1540 1535 NEXT Q 1540 POKE 530,0:RETURN 2000 POKE 11,0:POKE 12,253:X=USR(X) 2010 A=PEEK(531) 2020 A$=CHR$(A) 2050 RETURN