Listing of file='SPACE.BAS;01' on disk='vmedia/chip_24-sector.ccvf'
1 PLOT 3,64,32 2 PLOT 19 3 PLOT 15 5 DEF FN J(X)= (INT (RND (1)* 1000+ 1)) 8 DEF FN P(X)= (INT (RND (1)* 30+ 2)) 9 OUT 8,4 10 PLOT 12 11 GOSUB 8700:REM PRINT THE "INSTRUCTIONS" 12 PLOT 3,1,5:PRINT "eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee" 13 PLOT 3,0,5:PRINT "n":PLOT 3,63,5:PRINT "o" 14 FOR K= 1TO 22:PLOT 3,0,K+ 5:PRINT "a":PLOT 3,63,K+ 5:PRINT "b":NEXT K 15 PLOT 3,0,28:PRINT "l":PLOT 3,63,28:PRINT "m" 16 PLOT 3,1,28:PRINT "" 17 PLOT 19,3,43,0,14 18 PRINT "NUMBER OF HITS: 0" 19 PLOT 3,64,30 20 REM SPACE SHOOT 25 REM 30 REM BY MIKE MILLEN 32 REM 34 REM 395-6044 40 REM 50 REM FOR CCII 5/15/80 60 REM 80 REM 100 REM THIS IS THE "BASE": " " 105 REM THIS IS THE ENEMY SHIP: "*" 110 REM THIS IS THE "MISSLE": "^" 112 REM 114 REM THE BASE STARTS AT 32188 115 REM 118 REM THE BASE TRAVELS ALONG THE LINE LOCATED AT 32130-32252 119 OUT 8,255:PLOT 3,12,16 120 INPUT "HIT RETURN WHEN YOU ARE READY TO BEGIN ";Q$ 125 OUT 8,4 130 PLOT 14,3,12,16:PRINT SPC( 40):PRINT "" 140 PLOT 3,64,29 150 P1= 28672 160 B1= 32188 170 EN= 29444 180 POKE 33209,0:POKE 33210,0 488 POKE B1+ 1,24:POKE B1,32 490 FOR U= 1TO FN J(0):NEXT U 495 GOTO 4020 1000 OUT 8,255:PLOT 6,0,15,11:E1= B1+ B:IF PEEK (33278)= 83THEN B= B+ 2:GOTO 1750 1010 IF PEEK (33278)= 65THEN B= B- 2:GOTO 1750 1020 IF PEEK (33278)= 32THEN 3000 1030 IF PEEK (33278)< > 87THEN 1047 1040 X= FN P(0):IF X/ 2= INT (X/ 2)THEN B= B+ X:GOTO 1750 1045 GOTO 1040 1047 IF PEEK (33278)< > 81THEN 2020 1050 X= FN P(0):IF X/ 2= INT (X/ 2)THEN B= B- X:GOTO 1750 1055 GOTO 1050 1750 REM :PLOT11,6,0 1751 OUT 8,4 1790 REM THE BASE TRAVELS ALONG THE LINE LOCATED AT 32128-32252 1800 REM CHECK TO SEE IF THE SHIP IS TOO FAR 1820 IF B1+ B< 32252AND B1+ B> 32130THEN 2000 1840 IF B1+ B> 32252THEN B= 64:GOTO 2000 1860 IF B+ B1< 32130THEN B= - 58:GOTO 2000 2000 REM MOVE THE BASE 2001 C= B 2005 POKE E1+ 1,3:POKE E1,32 2010 POKE B1+ B+ 1,24:POKE B1+ B,32 2015 IF ES= 1THEN ES= 0:GOTO 6180 2020 OUT 8,4:IF GO= 1THEN 4021 2999 GOTO 5000 3000 REM FIRE THE MISSLE 3001 OUT 8,4 3015 REM THIS IS THE SHIPS CURRENT POSITION 3016 G= 128 3020 F1= B1+ B:REM 3 3025 POKE F1- 128,94 3030 PLOT 3,64,29 3040 FOR K= 1TO 19:REM 19 IS THE # OF LINES THE MISSLE (^) PASSES 3060 G= G+ 128 3090 POKE F1- G+ 128,32 3100 POKE F1- G,94 3115 NEXT K 3120 POKE F1- G,32 3145 IF PEEK (F1- G- 128)< > 42THEN 3190 3146 PLOT 15,3,1,6:PRINT SPC( 62):PLOT 3,64,1:PRINT "" 3148 PLOT 14 3149 REM PRINT "KABOOM!!" (THE ENEMY HAS BEEN BLOWN UP):OUT 8,4 3150 PLOT 6,73,3,24,8,75,65,66,79,79,77,33,33,33:PLOT 6,0 3152 PLOT 3,64,29 3155 FOR I= 1TO 350:NEXT I 3156 POKE F1- G- 128,32:PLOT 15 3157 GOTO 7000 3160 PLOT 14,3,23,8:PRINT SPC( 10):PLOT 15:PRINT "" 3162 PLOT 3,64,29 3165 T= - 2:GO= 0:W= 0:GOTO 490 3190 POKE F1- G- 128,94 3195 POKE F1- G- 128,32 3197 IF GO= 1THEN 4021 3200 GOTO 5000 4000 REM MOVE THE ENEMY SHIPS ACROSS THE SCREEN 4020 REM THE SHIP MOVES ON THE LINE: 29442-29564 4021 ON WGOTO 4060,4093 4022 REM THIS MOVES THE SHIPS FROM LEFT TO RIGHT -----> 4023 IF GO= 0THEN D= INT (RND (1)* 2+ 1):ON DGOTO 4025,4085 4025 FI= 2 4026 W= 1 4040 T= - 2 4050 IF FI= 2THEN 4070 4060 T= T+ 2 4065 POKE EN+ T- 2,32 4070 IF T+ EN> 29564THEN GO= 0:W= 0:GOTO 5000 4072 FI= 1 4075 PLOT 19 4080 POKE EN+ T+ 1,3:POKE EN+ T,42 4081 PO= EN+ T 4082 GOTO 4110 4085 REM THIS MOVES THE SHIP FROM RIGHT TO LEFT <------ 4086 W= 2:FI= 2 4087 T= - 2 4090 IF FI= 2THEN 4098 4093 T= T- 2 4096 POKE EN+ 122+ T+ 2,32 4098 IF T+ EN+ 122< 29442THEN GO= 0:W= 0:GOTO 5000 4101 FI= 1:PLOT 19 4104 POKE EN+ 122+ T+ 1,3:POKE EN+ 122+ T,42 4106 PO= EN+ 122+ T 4110 X= (INT (RND (1)* 8+ 1)):IF X< 4THEN 6000 4115 PLOT 3,64,29 4120 X= (INT (RND (1)* 8+ 1)) 4130 Q= X* 8:REM Q=1:IFX=1THENQ=30 4135 REM IFX=2THENQ=20 4140 REM THIS WILL MAKE IT HARDER: IFS=5THEN4021 4145 OUT 8,255:POKE 33278,0 4147 PLOT 3,64,29 4150 FOR L= 1TO Q 4152 IF PEEK (33278)< > 0THEN 4200 4155 PLOT 6,0 4170 NEXT L 4180 OUT 8,4:GOTO 4021 4181 PO= EN+ T 4200 GO= 1:OUT 8,255:OUT 8,4:GOTO 1000 4250 GOTO 4021 5000 GOTO 490 6000 REM THIS FIRES BOMB FROM THE ENEMY SHIP TO THE BASE 6010 REM 6020 REM 6030 REM 6040 OUT 8,255:REM PO = THE ENEMY'S CURRENT POSITION 6050 G= 128 6060 POKE PO+ 128,43 6080 PLOT 3,64,29 6100 FOR K= 1TO 20:REM 19 IS # OF LINES THE MISSLE (+) PASSES 6120 G= G+ 128 6140 POKE PO+ G- 128,32 6160 POKE PO+ G,43 6161 IF K< > 8THEN 6180 6162 OUT 8,255:PLOT 6,0:POKE 33278,0 6165 FOR E= 1TO 10 6170 IF PEEK (33278)< > 0AND PEEK (33278)< > 32THEN ES= 1:GOTO 4200 6173 NEXT E 6180 NEXT K 6200 POKE PO+ G,32 6220 IF PEEK (PO+ G+ 1)< > 24THEN 4115 6230 REM PRINT "KABOOM!!" (THE PLAYER HAS BEEN BLOWN UP) 6240 PLOT 15,3,1,27:PRINT SPC( 62):PLOT 3,64,29:PRINT "" 6260 PLOT 14 6300 PLOT 6,127,3,23,26,75,65,66,79,79,77,33,33,33:PLOT 6,0 6320 PLOT 3,64,29 6340 FOR I= 1TO 350:NEXT I 6390 PLOT 14,3,23,26,32,32,32,32,32,32,32,32,32:PLOT 15,6,0:ET= 1:GOSUB 7010:GOTO 1790 7000 REM THIS PRINTS OUT THE SCORES 7005 GOTO 7020 7010 H1= H1- 1:IF H1< 0THEN H1= 0 7015 GOTO 7040 7020 H1= H1+ 1 7040 PLOT 3,61,0 7060 PLOT 14,6,1 7080 PRINT H1 7090 PLOT 19,15 7095 PLOT 6,0:IF ET= 1THEN ET= 0:RETURN 8000 REM TO CHANGE # OF SHIPS NECESSARY TO BE HIT (SO THAT THE 8002 REM GAME ENDS AND YOUR TIME IS DISPLAYED), CHANGE THE NEXT 8004 REM LINE AND LINE 8040.................. 8010 IF H1< 10THEN 3160 8020 PLOT 3,5,16,14 8022 M$= STR$ (PEEK (33210)):S= PEEK (33209) 8023 Y$= STR$ (S) 8024 IF S> = 10THEN 8030 8026 Y$= RIGHT$ (STR$ (S+ 100),2) 8030 T$= M$+ " :"+ Y$ 8038 PLOT 6,1 8040 PRINT "YOUR TIME FOR DESTROYING 10 ENEMY SHIPS - ";T$ 8050 PLOT 6,3 8055 OUT 8,255:PLOT 27,11 8060 END 8700 PLOT 3,1,0,15 8710 PRINT "SPACE BAR = FIRE (TRY REPEAT KEY, TOO)":PRINT 8720 PRINT " Q = LEFT ? SPACES W = RIGHT ? SPACES" 8730 PRINT " A = LEFT 1 SPACE S = RIGHT 1 SPACE" 8740 RETURN 9000 GOTO 7001