Home » Archimedes archive » Acorn User » AU 1995-01.adf » !StarInfo_StarInfo » VanMourik/FLOCK2
VanMourik/FLOCK2
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 1995-01.adf » !StarInfo_StarInfo |
Filename: | VanMourik/FLOCK2 |
Read OK: | ✔ |
File size: | 02EF bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM >FLOCK2 20REM (C) JEAN VAN MOURIK MILLCOTTAGE DERWYDD AMMANFORD DYFED SA183LQ UK. 94 30DIMX%(99),Y%(99),Z%(99),X(399),Y(399):MODE1:OFF 40PRINT" SIMULATES FLOCKING BEHAVIOUR.":PRINT:PRINT" LEFT BUTTON TO DISOLVE FLOCKS." 50REPEAT:MOUSEA,B,C:UNTILC:FORX=0TO399:X(X)=COSRADX*8+.5:Y(X)=SINRADX*8+.5:NEXT:F%=4444:CLS:GCOL3,3:G%=44:REM G% = NUMBER OF BIRDS 60FORX%=1TOG%:X%(X%)=RND(1280):Y%(X%)=RND(1024):Z%(X%)=RND(360):POINTX%(X%),Y%(X%):NEXT 70 80REM MAIN LOOP 90REPEAT:FORX%=1TOG%:E%=RND(3)-2:Z%(X%)=(Z%(X%)+E%+360)MOD360:POINTX%(X%),Y%(X%):X%(X%)=(X%(X%)+X(Z%(X%))+1280)MOD1280:Y%(X%)=(Y%(X%)+Y(Z%(X%))+1024)MOD1024:POINTX%(X%),Y%(X%):NEXT 100MOUSEK%,L%,M%:IFM% UNTIL0 110FORX%=1TOG%:N%=RND(G%):IFX%-N% A%=X%(X%)-X%(N%):B%=Y%(X%)-Y%(N%):M%=A%*A%+B%*B%:IFM%<F% Z%(N%)=Z%(X%):POINTX%(N%),Y%(N%):X%(N%)+=(A%*.3):Y%(N%)+=(B%*.3):POINTX%(N%),Y%(N%) 120NEXT:UNTIL0
� >FLOCK2 M� (C) JEAN VAN MOURIK MILLCOTTAGE DERWYDD AMMANFORD DYFED SA183LQ UK. 94 ,�X%(99),Y%(99),Z%(99),X(399),Y(399):�1:� (J�" SIMULATES FLOCKING BEHAVIOUR.":�:�" LEFT BUTTON TO DISOLVE FLOCKS." 2c�:ȗA,B,C:�C:�X=0�399:X(X)=��X*8+.5:Y(X)=��X*8+.5:�:F%=4444:�:�3,3:G%=44:� G% = NUMBER OF BIRDS <J�X%=1�G%:X%(X%)=�(1280):Y%(X%)=�(1024):Z%(X%)=�(360):ȒX%(X%),Y%(X%):� F P� MAIN LOOP Z��:�X%=1�G%:E%=�(3)-2:Z%(X%)=(Z%(X%)+E%+360)�360:ȒX%(X%),Y%(X%):X%(X%)=(X%(X%)+X(Z%(X%))+1280)�1280:Y%(X%)=(Y%(X%)+Y(Z%(X%))+1024)�1024:ȒX%(X%),Y%(X%):� dȗK%,L%,M%:�M% �0 n��X%=1�G%:N%=�(G%):�X%-N% A%=X%(X%)-X%(N%):B%=Y%(X%)-Y%(N%):M%=A%*A%+B%*B%:�M%<F% Z%(N%)=Z%(X%):ȒX%(N%),Y%(N%):X%(N%)+=(A%*.3):Y%(N%)+=(B%*.3):ȒX%(N%),Y%(N%) x�:�0 �
00000000 0d 00 0a 0d f4 20 3e 46 4c 4f 43 4b 32 0d 00 14 |..... >FLOCK2...| 00000010 4d f4 20 28 43 29 20 4a 45 41 4e 20 56 41 4e 20 |M. (C) JEAN VAN | 00000020 4d 4f 55 52 49 4b 20 4d 49 4c 4c 43 4f 54 54 41 |MOURIK MILLCOTTA| 00000030 47 45 20 44 45 52 57 59 44 44 20 41 4d 4d 41 4e |GE DERWYDD AMMAN| 00000040 46 4f 52 44 20 44 59 46 45 44 20 53 41 31 38 33 |FORD DYFED SA183| 00000050 4c 51 20 20 55 4b 2e 20 39 34 0d 00 1e 2c de 58 |LQ UK. 94...,.X| 00000060 25 28 39 39 29 2c 59 25 28 39 39 29 2c 5a 25 28 |%(99),Y%(99),Z%(| 00000070 39 39 29 2c 58 28 33 39 39 29 2c 59 28 33 39 39 |99),X(399),Y(399| 00000080 29 3a eb 31 3a 87 0d 00 28 4a f1 22 20 53 49 4d |):.1:...(J." SIM| 00000090 55 4c 41 54 45 53 20 46 4c 4f 43 4b 49 4e 47 20 |ULATES FLOCKING | 000000a0 42 45 48 41 56 49 4f 55 52 2e 22 3a f1 3a f1 22 |BEHAVIOUR.":.:."| 000000b0 20 4c 45 46 54 20 42 55 54 54 4f 4e 20 54 4f 20 | LEFT BUTTON TO | 000000c0 44 49 53 4f 4c 56 45 20 46 4c 4f 43 4b 53 2e 22 |DISOLVE FLOCKS."| 000000d0 0d 00 32 63 f5 3a c8 97 41 2c 42 2c 43 3a fd 43 |..2c.:..A,B,C:.C| 000000e0 3a e3 58 3d 30 b8 33 39 39 3a 58 28 58 29 3d 9b |:.X=0.399:X(X)=.| 000000f0 b2 58 2a 38 2b 2e 35 3a 59 28 58 29 3d b5 b2 58 |.X*8+.5:Y(X)=..X| 00000100 2a 38 2b 2e 35 3a ed 3a 46 25 3d 34 34 34 34 3a |*8+.5:.:F%=4444:| 00000110 db 3a e6 33 2c 33 3a 47 25 3d 34 34 3a f4 20 47 |.:.3,3:G%=44:. G| 00000120 25 20 3d 20 4e 55 4d 42 45 52 20 4f 46 20 42 49 |% = NUMBER OF BI| 00000130 52 44 53 0d 00 3c 4a e3 58 25 3d 31 b8 47 25 3a |RDS..<J.X%=1.G%:| 00000140 58 25 28 58 25 29 3d b3 28 31 32 38 30 29 3a 59 |X%(X%)=.(1280):Y| 00000150 25 28 58 25 29 3d b3 28 31 30 32 34 29 3a 5a 25 |%(X%)=.(1024):Z%| 00000160 28 58 25 29 3d b3 28 33 36 30 29 3a c8 92 58 25 |(X%)=.(360):..X%| 00000170 28 58 25 29 2c 59 25 28 58 25 29 3a ed 0d 00 46 |(X%),Y%(X%):...F| 00000180 05 20 0d 00 50 0f f4 20 4d 41 49 4e 20 4c 4f 4f |. ..P.. MAIN LOO| 00000190 50 0d 00 5a 9d f5 3a e3 58 25 3d 31 b8 47 25 3a |P..Z..:.X%=1.G%:| 000001a0 45 25 3d b3 28 33 29 2d 32 3a 5a 25 28 58 25 29 |E%=.(3)-2:Z%(X%)| 000001b0 3d 28 5a 25 28 58 25 29 2b 45 25 2b 33 36 30 29 |=(Z%(X%)+E%+360)| 000001c0 83 33 36 30 3a c8 92 58 25 28 58 25 29 2c 59 25 |.360:..X%(X%),Y%| 000001d0 28 58 25 29 3a 58 25 28 58 25 29 3d 28 58 25 28 |(X%):X%(X%)=(X%(| 000001e0 58 25 29 2b 58 28 5a 25 28 58 25 29 29 2b 31 32 |X%)+X(Z%(X%))+12| 000001f0 38 30 29 83 31 32 38 30 3a 59 25 28 58 25 29 3d |80).1280:Y%(X%)=| 00000200 28 59 25 28 58 25 29 2b 59 28 5a 25 28 58 25 29 |(Y%(X%)+Y(Z%(X%)| 00000210 29 2b 31 30 32 34 29 83 31 30 32 34 3a c8 92 58 |)+1024).1024:..X| 00000220 25 28 58 25 29 2c 59 25 28 58 25 29 3a ed 0d 00 |%(X%),Y%(X%):...| 00000230 64 15 c8 97 4b 25 2c 4c 25 2c 4d 25 3a e7 4d 25 |d...K%,L%,M%:.M%| 00000240 20 fd 30 0d 00 6e a2 e3 58 25 3d 31 b8 47 25 3a | .0..n..X%=1.G%:| 00000250 4e 25 3d b3 28 47 25 29 3a e7 58 25 2d 4e 25 20 |N%=.(G%):.X%-N% | 00000260 41 25 3d 58 25 28 58 25 29 2d 58 25 28 4e 25 29 |A%=X%(X%)-X%(N%)| 00000270 3a 42 25 3d 59 25 28 58 25 29 2d 59 25 28 4e 25 |:B%=Y%(X%)-Y%(N%| 00000280 29 3a 4d 25 3d 41 25 2a 41 25 2b 42 25 2a 42 25 |):M%=A%*A%+B%*B%| 00000290 3a e7 4d 25 3c 46 25 20 5a 25 28 4e 25 29 3d 5a |:.M%<F% Z%(N%)=Z| 000002a0 25 28 58 25 29 3a c8 92 58 25 28 4e 25 29 2c 59 |%(X%):..X%(N%),Y| 000002b0 25 28 4e 25 29 3a 58 25 28 4e 25 29 2b 3d 28 41 |%(N%):X%(N%)+=(A| 000002c0 25 2a 2e 33 29 3a 59 25 28 4e 25 29 2b 3d 28 42 |%*.3):Y%(N%)+=(B| 000002d0 25 2a 2e 33 29 3a c8 92 58 25 28 4e 25 29 2c 59 |%*.3):..X%(N%),Y| 000002e0 25 28 4e 25 29 0d 00 78 08 ed 3a fd 30 0d ff |%(N%)..x..:.0..| 000002ef