Home » Archimedes archive » Acorn User » AU 1996-Xmas.adf » Regulars » StarInfo/Stoner/JellySnake
StarInfo/Stoner/JellySnake
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 1996-Xmas.adf » Regulars |
Filename: | StarInfo/Stoner/JellySnake |
Read OK: | ✔ |
File size: | 03A9 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM >JellySnake 20REM Originally called Nematode3 30REM By D.Northcott 06/09/95 40REM Modified by Nigel Stoner 50om=MODE 60SYS "OS_SWINumberFromString",,"ColourTrans_SetGCOL" TO C% 70MODE122:xx=800:yy=600:IF MODE<>122 THEN MODE 21:xx=640:yy=512 80OFF 90m%=31:v%=4:s=50 100DIM x(s-1),y(s-1) 110REPEAT 120x=RND(1280) 130y=RND(1024) 140a=RND(1)*360 150 x()=x 160 y()=y 170 n=0 180 r2=RND(255) 190 g2=RND(255) 200 b2=RND(255) 210 r1=RND(255) 220 g1=RND(255) 230 b1=RND(255) 240 IF r2>r1 SWAP r2,r1 250 IF g2>g1 SWAP g2,g1 260 IF b2>b1 SWAP b2,b1 270 t=RND(150)+50 280REPEAT 290d=RND(1)*720-360:l=RND(10)+2:FOR i=0 TO l-1 300IF t>31 THEN x+=SIN RAD(a)*16:y+=COS RAD(a)*16:a+=d/l 310a=a+(180 AND (x>1280 OR x<0 OR y>1024 OR y<0)) 320x(n)=x:y(n)=y:k=n 330r3=r2-r1:g3=g2-g1:b3=b2-b1 340FOR r=m% TO 0 STEP -v%:d1=r/m% 350SYS C%,(((r1+r3*d1)<<8)+((g1+g3*d1)<<16)+((b1+b3*d1)<<24)),,,&100 360IF t>m% OR (t<32 AND t>r) THEN CIRCLE FILL x(k),y(k)-r,r 370k-=v%:IF k<0 k+=s 380NEXT 390n=(n+1) MOD s:t-=1:NEXT 400UNTIL t<0 410UNTIL 0 420DEF FNmin(a,b) 430IF a<b =a ELSE =b 440
� >JellySnake !� Originally called Nematode3 � By D.Northcott 06/09/95 (� Modified by Nigel Stoner 2om=� <;ș "OS_SWINumberFromString",,"ColourTrans_SetGCOL" � C% F4�122:xx=800:yy=600:� �<>122 � � 21:xx=640:yy=512 P� Zm%=31:v%=4:s=50 d� x(s-1),y(s-1) n� x x=�(1280) � y=�(1024) �a=�(1)*360 � x()=x � y()=y � n=0 � r2=�(255) � g2=�(255) � b2=�(255) � r1=�(255) � g1=�(255) � b1=�(255) � � r2>r1 Ȕ r2,r1 � � g2>g1 Ȕ g2,g1 � b2>b1 Ȕ b2,b1 t=�(150)+50 � "(d=�(1)*720-360:l=�(10)+2:� i=0 � l-1 ,-� t>31 � x+=� �(a)*16:y+=� �(a)*16:a+=d/l 6-a=a+(180 � (x>1280 � x<0 � y>1024 � y<0)) @x(n)=x:y(n)=y:k=n Jr3=r2-r1:g3=g2-g1:b3=b2-b1 T� r=m% � 0 � -v%:d1=r/m% ^Dș C%,(((r1+r3*d1)<<8)+((g1+g3*d1)<<16)+((b1+b3*d1)<<24)),,,&100 h/� t>m% � (t<32 � t>r) � ȏ Ȑ x(k),y(k)-r,r rk-=v%:� k<0 k+=s |� �n=(n+1) � s:t-=1:� � � t<0 �� 0 �� �min(a,b) �� a<b =a � =b � �
00000000 0d 00 0a 11 f4 20 3e 4a 65 6c 6c 79 53 6e 61 6b |..... >JellySnak| 00000010 65 0d 00 14 21 f4 20 4f 72 69 67 69 6e 61 6c 6c |e...!. Originall| 00000020 79 20 63 61 6c 6c 65 64 20 4e 65 6d 61 74 6f 64 |y called Nematod| 00000030 65 33 0d 00 1e 1d f4 20 42 79 20 44 2e 4e 6f 72 |e3..... By D.Nor| 00000040 74 68 63 6f 74 74 20 30 36 2f 30 39 2f 39 35 0d |thcott 06/09/95.| 00000050 00 28 1e f4 20 4d 6f 64 69 66 69 65 64 20 62 79 |.(.. Modified by| 00000060 20 4e 69 67 65 6c 20 53 74 6f 6e 65 72 0d 00 32 | Nigel Stoner..2| 00000070 08 6f 6d 3d eb 0d 00 3c 3b c8 99 20 22 4f 53 5f |.om=...<;.. "OS_| 00000080 53 57 49 4e 75 6d 62 65 72 46 72 6f 6d 53 74 72 |SWINumberFromStr| 00000090 69 6e 67 22 2c 2c 22 43 6f 6c 6f 75 72 54 72 61 |ing",,"ColourTra| 000000a0 6e 73 5f 53 65 74 47 43 4f 4c 22 20 b8 20 43 25 |ns_SetGCOL" . C%| 000000b0 0d 00 46 34 eb 31 32 32 3a 78 78 3d 38 30 30 3a |..F4.122:xx=800:| 000000c0 79 79 3d 36 30 30 3a e7 20 eb 3c 3e 31 32 32 20 |yy=600:. .<>122 | 000000d0 8c 20 eb 20 32 31 3a 78 78 3d 36 34 30 3a 79 79 |. . 21:xx=640:yy| 000000e0 3d 35 31 32 0d 00 50 05 87 0d 00 5a 13 6d 25 3d |=512..P....Z.m%=| 000000f0 33 31 3a 76 25 3d 34 3a 73 3d 35 30 0d 00 64 13 |31:v%=4:s=50..d.| 00000100 de 20 78 28 73 2d 31 29 2c 79 28 73 2d 31 29 0d |. x(s-1),y(s-1).| 00000110 00 6e 05 f5 0d 00 78 0d 78 3d b3 28 31 32 38 30 |.n....x.x=.(1280| 00000120 29 0d 00 82 0d 79 3d b3 28 31 30 32 34 29 0d 00 |)....y=.(1024)..| 00000130 8c 0e 61 3d b3 28 31 29 2a 33 36 30 0d 00 96 0a |..a=.(1)*360....| 00000140 20 78 28 29 3d 78 0d 00 a0 0a 20 79 28 29 3d 79 | x()=x.... y()=y| 00000150 0d 00 aa 08 20 6e 3d 30 0d 00 b4 0e 20 72 32 3d |.... n=0.... r2=| 00000160 b3 28 32 35 35 29 0d 00 be 0e 20 67 32 3d b3 28 |.(255).... g2=.(| 00000170 32 35 35 29 0d 00 c8 0e 20 62 32 3d b3 28 32 35 |255).... b2=.(25| 00000180 35 29 0d 00 d2 0e 20 72 31 3d b3 28 32 35 35 29 |5).... r1=.(255)| 00000190 0d 00 dc 0e 20 67 31 3d b3 28 32 35 35 29 0d 00 |.... g1=.(255)..| 000001a0 e6 0e 20 62 31 3d b3 28 32 35 35 29 0d 00 f0 15 |.. b1=.(255)....| 000001b0 20 e7 20 72 32 3e 72 31 20 c8 94 20 72 32 2c 72 | . r2>r1 .. r2,r| 000001c0 31 0d 00 fa 15 20 e7 20 67 32 3e 67 31 20 c8 94 |1.... . g2>g1 ..| 000001d0 20 67 32 2c 67 31 0d 01 04 15 20 e7 20 62 32 3e | g2,g1.... . b2>| 000001e0 62 31 20 c8 94 20 62 32 2c 62 31 0d 01 0e 10 20 |b1 .. b2,b1.... | 000001f0 74 3d b3 28 31 35 30 29 2b 35 30 0d 01 18 05 f5 |t=.(150)+50.....| 00000200 0d 01 22 28 64 3d b3 28 31 29 2a 37 32 30 2d 33 |.."(d=.(1)*720-3| 00000210 36 30 3a 6c 3d b3 28 31 30 29 2b 32 3a e3 20 69 |60:l=.(10)+2:. i| 00000220 3d 30 20 b8 20 6c 2d 31 0d 01 2c 2d e7 20 74 3e |=0 . l-1..,-. t>| 00000230 33 31 20 8c 20 78 2b 3d b5 20 b2 28 61 29 2a 31 |31 . x+=. .(a)*1| 00000240 36 3a 79 2b 3d 9b 20 b2 28 61 29 2a 31 36 3a 61 |6:y+=. .(a)*16:a| 00000250 2b 3d 64 2f 6c 0d 01 36 2d 61 3d 61 2b 28 31 38 |+=d/l..6-a=a+(18| 00000260 30 20 80 20 28 78 3e 31 32 38 30 20 84 20 78 3c |0 . (x>1280 . x<| 00000270 30 20 84 20 79 3e 31 30 32 34 20 84 20 79 3c 30 |0 . y>1024 . y<0| 00000280 29 29 0d 01 40 15 78 28 6e 29 3d 78 3a 79 28 6e |))..@.x(n)=x:y(n| 00000290 29 3d 79 3a 6b 3d 6e 0d 01 4a 1e 72 33 3d 72 32 |)=y:k=n..J.r3=r2| 000002a0 2d 72 31 3a 67 33 3d 67 32 2d 67 31 3a 62 33 3d |-r1:g3=g2-g1:b3=| 000002b0 62 32 2d 62 31 0d 01 54 1c e3 20 72 3d 6d 25 20 |b2-b1..T.. r=m% | 000002c0 b8 20 30 20 88 20 2d 76 25 3a 64 31 3d 72 2f 6d |. 0 . -v%:d1=r/m| 000002d0 25 0d 01 5e 44 c8 99 20 43 25 2c 28 28 28 72 31 |%..^D.. C%,(((r1| 000002e0 2b 72 33 2a 64 31 29 3c 3c 38 29 2b 28 28 67 31 |+r3*d1)<<8)+((g1| 000002f0 2b 67 33 2a 64 31 29 3c 3c 31 36 29 2b 28 28 62 |+g3*d1)<<16)+((b| 00000300 31 2b 62 33 2a 64 31 29 3c 3c 32 34 29 29 2c 2c |1+b3*d1)<<24)),,| 00000310 2c 26 31 30 30 0d 01 68 2f e7 20 74 3e 6d 25 20 |,&100..h/. t>m% | 00000320 84 20 28 74 3c 33 32 20 80 20 74 3e 72 29 20 8c |. (t<32 . t>r) .| 00000330 20 c8 8f 20 c8 90 20 78 28 6b 29 2c 79 28 6b 29 | .. .. x(k),y(k)| 00000340 2d 72 2c 72 0d 01 72 14 6b 2d 3d 76 25 3a e7 20 |-r,r..r.k-=v%:. | 00000350 6b 3c 30 20 6b 2b 3d 73 0d 01 7c 05 ed 0d 01 86 |k<0 k+=s..|.....| 00000360 16 6e 3d 28 6e 2b 31 29 20 83 20 73 3a 74 2d 3d |.n=(n+1) . s:t-=| 00000370 31 3a ed 0d 01 90 09 fd 20 74 3c 30 0d 01 9a 07 |1:...... t<0....| 00000380 fd 20 30 0d 01 a4 0f dd 20 a4 6d 69 6e 28 61 2c |. 0..... .min(a,| 00000390 62 29 0d 01 ae 11 e7 20 61 3c 62 20 3d 61 20 8b |b)..... a<b =a .| 000003a0 20 3d 62 0d 01 b8 04 0d ff | =b......| 000003a9