Home » Archimedes archive » Acorn User » AU 1997-05 B.adf » Regulars » StarInfo/clouds/Jeffs/GroundZero
StarInfo/clouds/Jeffs/GroundZero
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Archimedes archive » Acorn User » AU 1997-05 B.adf » Regulars |
Filename: | StarInfo/clouds/Jeffs/GroundZero |
Read OK: | ✔ |
File size: | 069F bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM GroundZero by R.W.Jeffs 20REM (or Time To Split) 30REM 40REM Acorn User Cloud Challenge 50REM 60 70MODE9:OFF 80D%=100:REM Diameter of column 90P%=240:REM No. of particles 100DIM data(P%,3):REM Type, X, COS val, colour 110 120REM Velocities controlling particle flight 130 140XV1=-1:XV2=-1 150Y1=0:Y2=0 160YV1=4:YV2=4 170XO%=640 180YO%=128 190 200REM Define particle type, depth and X 210 220FOR A%=1 TO P% 230 IF P%<240 THEN 240 IF RND(4)=1 data(A%,0)=1 ELSE data(A%,0)=0 250 ELSE 260 IF A%<=180 OR A%>240 data(A%,0)=0 ELSE data(A%,0)=1 270 ENDIF 280 IF A%<=180 AND P%>=240 data(A%,2)=COS(RAD(A%+180)) ELSE data(A%,2)=COS(RAD(RND(180)+180)) 290 data(A%,1)=D%/2*data(A%,2) 300NEXT 310 320REM Define particle colour 330 340FOR A%=1 TO P% 350 REM data(A%,3)=3+RND(7)+(1-ABS(data(A%,2)))*4 360 data(A%,3)=5+(1-ABS(data(A%,2)))*9 370NEXT 380 390REM Define colours and draw backdrop 400 410FOR C%=3 TO 15:VDU 19,C%,16,C%*16,C%*16,C%*16:NEXT 420VDU 19,1,16,0,0,64 430VDU 19,2,16,0,64,0 440GCOL0,2:RECTANGLEFILL 0,0,1280,YO%:GCOL0,1:RECTANGLEFILL 0,YO%,1280,1024-YO% 450TIME=0:REPEATUNTILTIME>100 460 470REM Flash 480WAIT:VDU 19,1,16,0,0,255:VDU 19,2,16,0,255,0 490WAIT:VDU 19,1,16,0,0,64:VDU 19,2,16,0,64,0 500 510REM Animate cloud 520 530count%=0:REPEAT:REM P.TAB(0,0);count% 540 550IF count%<40 XV1+=.025:XV2+=.025 560IF count%>370 THEN 570 YV1+=.018:XV1-=.01 580ELSE 590 IF count%>245 THEN 600 YV1-=.016:XV1-=.003 610 ELSE 620 IF count%>120 THEN 630 YV1-=.032:XV1+=.006 640 ENDIF 650 ENDIF 660ENDIF 670IF count%>80 YV2=-.02:XV2=.3 680 690FOR A%=1 TO P% 700 GCOL0,data(A%,3)+RND(5)-3 710 CASE data(A%,0) OF 720 WHEN 0 : IF count%<486 PLOT 69,XO%+data(A%,1),YO%+Y1+RND(9)-5 730 WHEN 1 : PLOT 69,XO%+data(A%,1),YO%+Y2+RND(9)-5 740 ENDCASE 750 IF data(A%,0)=0 data(A%,1)+=XV1*data(A%,2) ELSE data(A%,1)+=XV2*data(A%,2) 760NEXT 770Y1+=YV1:Y2+=YV2 780count%+=1:UNTIL count%=500 790PRINTTAB(0,29); 800END
'� GroundZero by R.W.Jeffs � (or Time To Split) � (!� Acorn User Cloud Challenge 2� < F�9:� P D%=100:� Diameter of column ZP%=240:� No. of particles d,� data(P%,3):� Type, X, COS val, colour n x-� Velocities controlling particle flight � �XV1=-1:XV2=-1 � Y1=0:Y2=0 �YV1=4:YV2=4 �XO%=640 �YO%=128 � �(� Define particle type, depth and X � �� A%=1 � P% � � P%<240 � �* � �(4)=1 data(A%,0)=1 � data(A%,0)=0 � � 4 � A%<=180 � A%>240 data(A%,0)=0 � data(A%,0)=1 � N � A%<=180 � P%>=240 data(A%,2)=�(�(A%+180)) � data(A%,2)=�(�(�(180)+180)) " data(A%,1)=D%/2*data(A%,2) ,� 6 @� Define particle colour J T� A%=1 � P% ^0 � data(A%,3)=3+RND(7)+(1-ABS(data(A%,2)))*4 h% data(A%,3)=5+(1-�(data(A%,2)))*9 r� | �'� Define colours and draw backdrop � �.� C%=3 � 15:� 19,C%,16,C%*16,C%*16,C%*16:� �� 19,1,16,0,0,64 �� 19,2,16,0,64,0 �8�0,2:ȓȐ 0,0,1280,YO%:�0,1:ȓȐ 0,YO%,1280,1024-YO% ��=0:���>100 � �� Flash �*Ȗ:� 19,1,16,0,0,255:� 19,2,16,0,255,0 �(Ȗ:� 19,1,16,0,0,64:� 19,2,16,0,64,0 � �� Animate cloud "count%=0:�:� P.TAB(0,0);count% &#� count%<40 XV1+=.025:XV2+=.025 0� count%>370 � : YV1+=.018:XV1-=.01 D� N � count%>245 � X YV1-=.016:XV1-=.003 b � l � count%>120 � v YV1-=.032:XV1+=.006 � � � � �� �� count%>80 YV2=-.02:XV2=.3 � �� A%=1 � P% � �0,data(A%,3)+�(5)-3 � Ȏ data(A%,0) � �: � 0 : � count%<486 � 69,XO%+data(A%,1),YO%+Y1+�(9)-5 �- � 1 : � 69,XO%+data(A%,1),YO%+Y2+�(9)-5 � � �K � data(A%,0)=0 data(A%,1)+=XV1*data(A%,2) � data(A%,1)+=XV2*data(A%,2) �� Y1+=YV1:Y2+=YV2 count%+=1:� count%=500 �0,29); � �
00000000 0d 00 0a 27 f4 20 20 47 72 6f 75 6e 64 5a 65 72 |...'. GroundZer| 00000010 6f 20 20 20 20 20 20 20 20 20 20 62 79 20 52 2e |o by R.| 00000020 57 2e 4a 65 66 66 73 0d 00 14 18 f4 20 28 6f 72 |W.Jeffs..... (or| 00000030 20 54 69 6d 65 20 54 6f 20 53 70 6c 69 74 29 0d | Time To Split).| 00000040 00 1e 05 f4 0d 00 28 21 f4 20 20 41 63 6f 72 6e |......(!. Acorn| 00000050 20 55 73 65 72 20 43 6c 6f 75 64 20 43 68 61 6c | User Cloud Chal| 00000060 6c 65 6e 67 65 0d 00 32 05 f4 0d 00 3c 04 0d 00 |lenge..2....<...| 00000070 46 08 eb 39 3a 87 0d 00 50 20 44 25 3d 31 30 30 |F..9:...P D%=100| 00000080 3a f4 20 20 44 69 61 6d 65 74 65 72 20 6f 66 20 |:. Diameter of | 00000090 63 6f 6c 75 6d 6e 0d 00 5a 1e 50 25 3d 32 34 30 |column..Z.P%=240| 000000a0 3a f4 20 20 4e 6f 2e 20 6f 66 20 70 61 72 74 69 |:. No. of parti| 000000b0 63 6c 65 73 0d 00 64 2c de 20 64 61 74 61 28 50 |cles..d,. data(P| 000000c0 25 2c 33 29 3a f4 20 20 54 79 70 65 2c 20 58 2c |%,3):. Type, X,| 000000d0 20 43 4f 53 20 76 61 6c 2c 20 63 6f 6c 6f 75 72 | COS val, colour| 000000e0 0d 00 6e 04 0d 00 78 2d f4 20 20 56 65 6c 6f 63 |..n...x-. Veloc| 000000f0 69 74 69 65 73 20 63 6f 6e 74 72 6f 6c 6c 69 6e |ities controllin| 00000100 67 20 70 61 72 74 69 63 6c 65 20 66 6c 69 67 68 |g particle fligh| 00000110 74 0d 00 82 04 0d 00 8c 11 58 56 31 3d 2d 31 3a |t........XV1=-1:| 00000120 58 56 32 3d 2d 31 0d 00 96 0d 59 31 3d 30 3a 59 |XV2=-1....Y1=0:Y| 00000130 32 3d 30 0d 00 a0 0f 59 56 31 3d 34 3a 59 56 32 |2=0....YV1=4:YV2| 00000140 3d 34 0d 00 aa 0b 58 4f 25 3d 36 34 30 0d 00 b4 |=4....XO%=640...| 00000150 0b 59 4f 25 3d 31 32 38 0d 00 be 04 0d 00 c8 28 |.YO%=128.......(| 00000160 f4 20 20 44 65 66 69 6e 65 20 70 61 72 74 69 63 |. Define partic| 00000170 6c 65 20 74 79 70 65 2c 20 64 65 70 74 68 20 61 |le type, depth a| 00000180 6e 64 20 58 0d 00 d2 04 0d 00 dc 0f e3 20 41 25 |nd X......... A%| 00000190 3d 31 20 b8 20 50 25 0d 00 e6 0f 20 e7 20 50 25 |=1 . P%.... . P%| 000001a0 3c 32 34 30 20 8c 0d 00 f0 2a 20 20 e7 20 b3 28 |<240 ....* . .(| 000001b0 34 29 3d 31 20 64 61 74 61 28 41 25 2c 30 29 3d |4)=1 data(A%,0)=| 000001c0 31 20 8b 20 64 61 74 61 28 41 25 2c 30 29 3d 30 |1 . data(A%,0)=0| 000001d0 0d 00 fa 06 20 cc 0d 01 04 34 20 20 e7 20 41 25 |.... ....4 . A%| 000001e0 3c 3d 31 38 30 20 84 20 41 25 3e 32 34 30 20 64 |<=180 . A%>240 d| 000001f0 61 74 61 28 41 25 2c 30 29 3d 30 20 8b 20 64 61 |ata(A%,0)=0 . da| 00000200 74 61 28 41 25 2c 30 29 3d 31 0d 01 0e 06 20 cd |ta(A%,0)=1.... .| 00000210 0d 01 18 4e 20 e7 20 41 25 3c 3d 31 38 30 20 80 |...N . A%<=180 .| 00000220 20 50 25 3e 3d 32 34 30 20 64 61 74 61 28 41 25 | P%>=240 data(A%| 00000230 2c 32 29 3d 9b 28 b2 28 41 25 2b 31 38 30 29 29 |,2)=.(.(A%+180))| 00000240 20 8b 20 64 61 74 61 28 41 25 2c 32 29 3d 9b 28 | . data(A%,2)=.(| 00000250 b2 28 b3 28 31 38 30 29 2b 31 38 30 29 29 0d 01 |.(.(180)+180))..| 00000260 22 1f 20 64 61 74 61 28 41 25 2c 31 29 3d 44 25 |". data(A%,1)=D%| 00000270 2f 32 2a 64 61 74 61 28 41 25 2c 32 29 0d 01 2c |/2*data(A%,2)..,| 00000280 05 ed 0d 01 36 04 0d 01 40 1d f4 20 20 44 65 66 |....6...@.. Def| 00000290 69 6e 65 20 70 61 72 74 69 63 6c 65 20 63 6f 6c |ine particle col| 000002a0 6f 75 72 0d 01 4a 04 0d 01 54 0f e3 20 41 25 3d |our..J...T.. A%=| 000002b0 31 20 b8 20 50 25 0d 01 5e 30 20 f4 20 64 61 74 |1 . P%..^0 . dat| 000002c0 61 28 41 25 2c 33 29 3d 33 2b 52 4e 44 28 37 29 |a(A%,3)=3+RND(7)| 000002d0 2b 28 31 2d 41 42 53 28 64 61 74 61 28 41 25 2c |+(1-ABS(data(A%,| 000002e0 32 29 29 29 2a 34 0d 01 68 25 20 64 61 74 61 28 |2)))*4..h% data(| 000002f0 41 25 2c 33 29 3d 35 2b 28 31 2d 94 28 64 61 74 |A%,3)=5+(1-.(dat| 00000300 61 28 41 25 2c 32 29 29 29 2a 39 0d 01 72 05 ed |a(A%,2)))*9..r..| 00000310 0d 01 7c 04 0d 01 86 27 f4 20 20 44 65 66 69 6e |..|....'. Defin| 00000320 65 20 63 6f 6c 6f 75 72 73 20 61 6e 64 20 64 72 |e colours and dr| 00000330 61 77 20 62 61 63 6b 64 72 6f 70 0d 01 90 04 0d |aw backdrop.....| 00000340 01 9a 2e e3 20 43 25 3d 33 20 b8 20 31 35 3a ef |.... C%=3 . 15:.| 00000350 20 31 39 2c 43 25 2c 31 36 2c 43 25 2a 31 36 2c | 19,C%,16,C%*16,| 00000360 43 25 2a 31 36 2c 43 25 2a 31 36 3a ed 0d 01 a4 |C%*16,C%*16:....| 00000370 14 ef 20 31 39 2c 31 2c 31 36 2c 30 2c 30 2c 36 |.. 19,1,16,0,0,6| 00000380 34 0d 01 ae 14 ef 20 31 39 2c 32 2c 31 36 2c 30 |4..... 19,2,16,0| 00000390 2c 36 34 2c 30 0d 01 b8 38 e6 30 2c 32 3a c8 93 |,64,0...8.0,2:..| 000003a0 c8 90 20 30 2c 30 2c 31 32 38 30 2c 59 4f 25 3a |.. 0,0,1280,YO%:| 000003b0 e6 30 2c 31 3a c8 93 c8 90 20 30 2c 59 4f 25 2c |.0,1:.... 0,YO%,| 000003c0 31 32 38 30 2c 31 30 32 34 2d 59 4f 25 0d 01 c2 |1280,1024-YO%...| 000003d0 0f d1 3d 30 3a f5 fd 91 3e 31 30 30 0d 01 cc 04 |..=0:...>100....| 000003e0 0d 01 d6 0c f4 20 20 46 6c 61 73 68 0d 01 e0 2a |..... Flash...*| 000003f0 c8 96 3a ef 20 31 39 2c 31 2c 31 36 2c 30 2c 30 |..:. 19,1,16,0,0| 00000400 2c 32 35 35 3a ef 20 31 39 2c 32 2c 31 36 2c 30 |,255:. 19,2,16,0| 00000410 2c 32 35 35 2c 30 0d 01 ea 28 c8 96 3a ef 20 31 |,255,0...(..:. 1| 00000420 39 2c 31 2c 31 36 2c 30 2c 30 2c 36 34 3a ef 20 |9,1,16,0,0,64:. | 00000430 31 39 2c 32 2c 31 36 2c 30 2c 36 34 2c 30 0d 01 |19,2,16,0,64,0..| 00000440 f4 04 0d 01 fe 14 f4 20 20 41 6e 69 6d 61 74 65 |....... Animate| 00000450 20 63 6c 6f 75 64 0d 02 08 04 0d 02 12 22 63 6f | cloud......."co| 00000460 75 6e 74 25 3d 30 3a f5 3a f4 20 50 2e 54 41 42 |unt%=0:.:. P.TAB| 00000470 28 30 2c 30 29 3b 63 6f 75 6e 74 25 0d 02 1c 04 |(0,0);count%....| 00000480 0d 02 26 23 e7 20 63 6f 75 6e 74 25 3c 34 30 20 |..&#. count%<40 | 00000490 58 56 31 2b 3d 2e 30 32 35 3a 58 56 32 2b 3d 2e |XV1+=.025:XV2+=.| 000004a0 30 32 35 0d 02 30 12 e7 20 63 6f 75 6e 74 25 3e |025..0.. count%>| 000004b0 33 37 30 20 8c 0d 02 3a 17 20 59 56 31 2b 3d 2e |370 ...:. YV1+=.| 000004c0 30 31 38 3a 58 56 31 2d 3d 2e 30 31 0d 02 44 05 |018:XV1-=.01..D.| 000004d0 cc 0d 02 4e 13 20 e7 20 63 6f 75 6e 74 25 3e 32 |...N. . count%>2| 000004e0 34 35 20 8c 0d 02 58 19 20 20 59 56 31 2d 3d 2e |45 ...X. YV1-=.| 000004f0 30 31 36 3a 58 56 31 2d 3d 2e 30 30 33 0d 02 62 |016:XV1-=.003..b| 00000500 06 20 cc 0d 02 6c 14 20 20 e7 20 63 6f 75 6e 74 |. ...l. . count| 00000510 25 3e 31 32 30 20 8c 0d 02 76 1a 20 20 20 59 56 |%>120 ...v. YV| 00000520 31 2d 3d 2e 30 33 32 3a 58 56 31 2b 3d 2e 30 30 |1-=.032:XV1+=.00| 00000530 36 0d 02 80 07 20 20 cd 0d 02 8a 06 20 cd 0d 02 |6.... ..... ...| 00000540 94 05 cd 0d 02 9e 1f e7 20 63 6f 75 6e 74 25 3e |........ count%>| 00000550 38 30 20 59 56 32 3d 2d 2e 30 32 3a 58 56 32 3d |80 YV2=-.02:XV2=| 00000560 2e 33 0d 02 a8 04 0d 02 b2 0f e3 20 41 25 3d 31 |.3......... A%=1| 00000570 20 b8 20 50 25 0d 02 bc 19 20 e6 30 2c 64 61 74 | . P%.... .0,dat| 00000580 61 28 41 25 2c 33 29 2b b3 28 35 29 2d 33 0d 02 |a(A%,3)+.(5)-3..| 00000590 c6 14 20 c8 8e 20 64 61 74 61 28 41 25 2c 30 29 |.. .. data(A%,0)| 000005a0 20 ca 0d 02 d0 3a 20 20 c9 20 30 20 3a 20 e7 20 | ....: . 0 : . | 000005b0 63 6f 75 6e 74 25 3c 34 38 36 20 f0 20 36 39 2c |count%<486 . 69,| 000005c0 58 4f 25 2b 64 61 74 61 28 41 25 2c 31 29 2c 59 |XO%+data(A%,1),Y| 000005d0 4f 25 2b 59 31 2b b3 28 39 29 2d 35 0d 02 da 2d |O%+Y1+.(9)-5...-| 000005e0 20 20 c9 20 31 20 3a 20 f0 20 36 39 2c 58 4f 25 | . 1 : . 69,XO%| 000005f0 2b 64 61 74 61 28 41 25 2c 31 29 2c 59 4f 25 2b |+data(A%,1),YO%+| 00000600 59 32 2b b3 28 39 29 2d 35 0d 02 e4 06 20 cb 0d |Y2+.(9)-5.... ..| 00000610 02 ee 4b 20 e7 20 64 61 74 61 28 41 25 2c 30 29 |..K . data(A%,0)| 00000620 3d 30 20 64 61 74 61 28 41 25 2c 31 29 2b 3d 58 |=0 data(A%,1)+=X| 00000630 56 31 2a 64 61 74 61 28 41 25 2c 32 29 20 8b 20 |V1*data(A%,2) . | 00000640 64 61 74 61 28 41 25 2c 31 29 2b 3d 58 56 32 2a |data(A%,1)+=XV2*| 00000650 64 61 74 61 28 41 25 2c 32 29 0d 02 f8 05 ed 0d |data(A%,2)......| 00000660 03 02 13 59 31 2b 3d 59 56 31 3a 59 32 2b 3d 59 |...Y1+=YV1:Y2+=Y| 00000670 56 32 0d 03 0c 1a 63 6f 75 6e 74 25 2b 3d 31 3a |V2....count%+=1:| 00000680 fd 20 63 6f 75 6e 74 25 3d 35 30 30 0d 03 16 0c |. count%=500....| 00000690 f1 8a 30 2c 32 39 29 3b 0d 03 20 05 e0 0d ff |..0,29);.. ....| 0000069f