Home » Archimedes archive » Acorn User » AU 1997-02 B.adf » Regulars » StarInfo/circles/Jeffs/Pulse
StarInfo/circles/Jeffs/Pulse
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-02 B.adf » Regulars |
Filename: | StarInfo/circles/Jeffs/Pulse |
Read OK: | ✔ |
File size: | 02AD bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM Acorn User circle challenge 20REM Pulse/Throb - by R W Jeffs 30: 40MODE 27 50sx%=640:sy%=480:F%=1024 60FOR A%=30 TO 359 STEP 60:PROCtower(SIN(RAD(A%))*90,COS(RAD(A%))*90,8,100,0):NEXT 70FOR A%=0 TO 359 STEP 60:PROCtower(SIN(RAD(A%))*60,COS(RAD(A%))*60,8,100,1):NEXT 80PROCpulse 90END 100: 110DEF PROCtower(X%,Y%,R%,S%,D%) 120LOCAL Z%,H%,W%,col% 130FOR Z%=1 TO S%*10 140 H%=1024-Z% 150 W%=(SIN(RAD(Z%))+2)*R% 160 col%=(Z% DIV 5) MOD 15+1:IF D%=0 col%=16-col% 170 GCOL0,col% 180 CIRCLEFILL X%/H%*F%+sx%,Y%/H%*F%+sy%,W%/H%*F% 190NEXT 200ENDPROC 210: 220DEF PROCpulse 230LOCAL S%,speed%,L%,C%,B% 240S%=0:L%=0 250REPEAT:WAIT 260 speed%=COS(RAD(L%))*8-1 270 FOR C%=1 TO 15 280 B%=S%+C%*360/15:COLOUR 16-C%,(SIN(RAD(B%))+1)/2*127,0,0 290 NEXT 300 S%+=speed%:IF S%>=360 S%-=360 310 L%+=1 320UNTIL FALSE 330ENDPROC
"� Acorn User circle challenge !� Pulse/Throb - by R W Jeffs : (� 27 2sx%=640:sy%=480:F%=1024 <@� A%=30 � 359 � 60:�tower(�(�(A%))*90,�(�(A%))*90,8,100,0):� F?� A%=0 � 359 � 60:�tower(�(�(A%))*60,�(�(A%))*60,8,100,1):� P �pulse Z� d: n� �tower(X%,Y%,R%,S%,D%) x� Z%,H%,W%,col% �� Z%=1 � S%*10 � H%=1024-Z% � W%=(�(�(Z%))+2)*R% �- col%=(Z% � 5) � 15+1:� D%=0 col%=16-col% � �0,col% �, ȏȐ X%/H%*F%+sx%,Y%/H%*F%+sy%,W%/H%*F% �� �� �: �� �pulse �� S%,speed%,L%,C%,B% � S%=0:L%=0 ��:Ȗ speed%=�(�(L%))*8-1 � C%=1 � 15 4 B%=S%+C%*360/15:� 16-C%,(�(�(B%))+1)/2*127,0,0 " � ,! S%+=speed%:� S%>=360 S%-=360 6 L%+=1 @� � J� �
00000000 0d 00 0a 22 f4 20 20 41 63 6f 72 6e 20 55 73 65 |...". Acorn Use| 00000010 72 20 63 69 72 63 6c 65 20 63 68 61 6c 6c 65 6e |r circle challen| 00000020 67 65 0d 00 14 21 f4 20 20 50 75 6c 73 65 2f 54 |ge...!. Pulse/T| 00000030 68 72 6f 62 20 2d 20 62 79 20 52 20 57 20 4a 65 |hrob - by R W Je| 00000040 66 66 73 0d 00 1e 05 3a 0d 00 28 08 eb 20 32 37 |ffs....:..(.. 27| 00000050 0d 00 32 1b 73 78 25 3d 36 34 30 3a 73 79 25 3d |..2.sx%=640:sy%=| 00000060 34 38 30 3a 46 25 3d 31 30 32 34 0d 00 3c 40 e3 |480:F%=1024..<@.| 00000070 20 41 25 3d 33 30 20 b8 20 33 35 39 20 88 20 36 | A%=30 . 359 . 6| 00000080 30 3a f2 74 6f 77 65 72 28 b5 28 b2 28 41 25 29 |0:.tower(.(.(A%)| 00000090 29 2a 39 30 2c 9b 28 b2 28 41 25 29 29 2a 39 30 |)*90,.(.(A%))*90| 000000a0 2c 38 2c 31 30 30 2c 30 29 3a ed 0d 00 46 3f e3 |,8,100,0):...F?.| 000000b0 20 41 25 3d 30 20 b8 20 33 35 39 20 88 20 36 30 | A%=0 . 359 . 60| 000000c0 3a f2 74 6f 77 65 72 28 b5 28 b2 28 41 25 29 29 |:.tower(.(.(A%))| 000000d0 2a 36 30 2c 9b 28 b2 28 41 25 29 29 2a 36 30 2c |*60,.(.(A%))*60,| 000000e0 38 2c 31 30 30 2c 31 29 3a ed 0d 00 50 0a f2 70 |8,100,1):...P..p| 000000f0 75 6c 73 65 0d 00 5a 05 e0 0d 00 64 05 3a 0d 00 |ulse..Z....d.:..| 00000100 6e 1c dd 20 f2 74 6f 77 65 72 28 58 25 2c 59 25 |n.. .tower(X%,Y%| 00000110 2c 52 25 2c 53 25 2c 44 25 29 0d 00 78 13 ea 20 |,R%,S%,D%)..x.. | 00000120 5a 25 2c 48 25 2c 57 25 2c 63 6f 6c 25 0d 00 82 |Z%,H%,W%,col%...| 00000130 12 e3 20 5a 25 3d 31 20 b8 20 53 25 2a 31 30 0d |.. Z%=1 . S%*10.| 00000140 00 8c 0f 20 48 25 3d 31 30 32 34 2d 5a 25 0d 00 |... H%=1024-Z%..| 00000150 96 17 20 57 25 3d 28 b5 28 b2 28 5a 25 29 29 2b |.. W%=(.(.(Z%))+| 00000160 32 29 2a 52 25 0d 00 a0 2d 20 63 6f 6c 25 3d 28 |2)*R%...- col%=(| 00000170 5a 25 20 81 20 35 29 20 83 20 31 35 2b 31 3a e7 |Z% . 5) . 15+1:.| 00000180 20 44 25 3d 30 20 63 6f 6c 25 3d 31 36 2d 63 6f | D%=0 col%=16-co| 00000190 6c 25 0d 00 aa 0c 20 e6 30 2c 63 6f 6c 25 0d 00 |l%.... .0,col%..| 000001a0 b4 2c 20 c8 8f c8 90 20 58 25 2f 48 25 2a 46 25 |., .... X%/H%*F%| 000001b0 2b 73 78 25 2c 59 25 2f 48 25 2a 46 25 2b 73 79 |+sx%,Y%/H%*F%+sy| 000001c0 25 2c 57 25 2f 48 25 2a 46 25 0d 00 be 05 ed 0d |%,W%/H%*F%......| 000001d0 00 c8 05 e1 0d 00 d2 05 3a 0d 00 dc 0c dd 20 f2 |........:..... .| 000001e0 70 75 6c 73 65 0d 00 e6 18 ea 20 53 25 2c 73 70 |pulse..... S%,sp| 000001f0 65 65 64 25 2c 4c 25 2c 43 25 2c 42 25 0d 00 f0 |eed%,L%,C%,B%...| 00000200 0d 53 25 3d 30 3a 4c 25 3d 30 0d 00 fa 08 f5 3a |.S%=0:L%=0.....:| 00000210 c8 96 0d 01 04 18 20 73 70 65 65 64 25 3d 9b 28 |...... speed%=.(| 00000220 b2 28 4c 25 29 29 2a 38 2d 31 0d 01 0e 10 20 e3 |.(L%))*8-1.... .| 00000230 20 43 25 3d 31 20 b8 20 31 35 0d 01 18 34 20 20 | C%=1 . 15...4 | 00000240 42 25 3d 53 25 2b 43 25 2a 33 36 30 2f 31 35 3a |B%=S%+C%*360/15:| 00000250 fb 20 31 36 2d 43 25 2c 28 b5 28 b2 28 42 25 29 |. 16-C%,(.(.(B%)| 00000260 29 2b 31 29 2f 32 2a 31 32 37 2c 30 2c 30 0d 01 |)+1)/2*127,0,0..| 00000270 22 06 20 ed 0d 01 2c 21 20 53 25 2b 3d 73 70 65 |". ...,! S%+=spe| 00000280 65 64 25 3a e7 20 53 25 3e 3d 33 36 30 20 53 25 |ed%:. S%>=360 S%| 00000290 2d 3d 33 36 30 0d 01 36 0a 20 4c 25 2b 3d 31 0d |-=360..6. L%+=1.| 000002a0 01 40 07 fd 20 a3 0d 01 4a 05 e1 0d ff |.@.. ...J....| 000002ad