Home » Archimedes archive » Acorn User » AU 1994-10.adf » !StarInfo_StarInfo » VanMourik/CandyText

VanMourik/CandyText

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 1994-10.adf » !StarInfo_StarInfo
Filename: VanMourik/CandyText
Read OK:
File size: 0563 bytes
Load address: 0000
Exec address: 0000
File contents
   THE 'CANDY' CELLULAR AUTOMATON
   ------------------------------

   THIS ROUTINE USES 2 ARRAYS TO RECORD PIXELS AT THE ACTIVE EDGES.
   X%() RECORDS THE X COMPONENTS OF THE COORDINATES OF THESE PIXELS,
   Y%() RECORDS THE Y COMPONENTS.
   THE EDGES EXTEND WHILE THE TEXTURE GROWS IN SIZE.  EACH ACTIVE PIXEL
   IS PROCESSED SUCH THAT IF NEIGHBOURING PIXELS ARE FOUND TO BE IN 
   BACKGROUND COLOUR (BLACK) THEN THESE COORDINATES ARE ADDED TO THE LIST.
   PIXELS ARE CHOSEN AT RANDOM FROM THE ARRAYS FOR PROCESSING.
   A COUNTER KEEPS RECORD OF HOW MANY COORDINATES ARE STORED.  SO THE ACTIVE-
   EDGE-PIXEL-COORDINATES LISTING CONSTANTLY WAXES AND WANES IN SIZE.
   ACCORDING TO THE DIRECTION OF GROWTH (ON OF 8), THE PIXEL ACQUIRES A 
   COLOUR.
   THE CENTRAL PIXEL THEN BECOMES ENCLOSED AND IS ERASED FROM THE ARRAYS BY
   OVERWRITING IT WITH THE LAST ENTRY, AND THE LISTING'S SIZE IS ADJUSTED.
   THIS PROCESS IS REPEATED UNTIL THE SCREEN IS FILLED WITH A TEXTURE.
   I CALLED IT 'CANDY' BECAUSE THAT IS WHAT IT LOOKS LIKE, MOUTAINS OF CANDY.
   THERE IS ANOTHER IMPLEMENTATION OF THIS ROUTINE CALLED 'MAZE'.  IN THIS
   ROUTINE A MAZE IS FLOODED WITH A 'CANDY' TEXTURE.  ONE CAN ALSO OBSERVE
   THE PROCESS MAGNIFIED AT THE POINTER'S POSITION.
   

   JEAN VAN MOURIK
   THIRD MILLENNIUM
   MILL COTTAGE
   DERWYDD
   AMMANFORD
   DYFED   SA18 3LQ
   UNITED KINGDOM    
00000000  0a 20 20 20 54 48 45 20  27 43 41 4e 44 59 27 20  |.   THE 'CANDY' |
00000010  43 45 4c 4c 55 4c 41 52  20 41 55 54 4f 4d 41 54  |CELLULAR AUTOMAT|
00000020  4f 4e 0a 20 20 20 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |ON.   ----------|
00000030  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00000040  2d 2d 2d 2d 0a 0a 20 20  20 54 48 49 53 20 52 4f  |----..   THIS RO|
00000050  55 54 49 4e 45 20 55 53  45 53 20 32 20 41 52 52  |UTINE USES 2 ARR|
00000060  41 59 53 20 54 4f 20 52  45 43 4f 52 44 20 50 49  |AYS TO RECORD PI|
00000070  58 45 4c 53 20 41 54 20  54 48 45 20 41 43 54 49  |XELS AT THE ACTI|
00000080  56 45 20 45 44 47 45 53  2e 0a 20 20 20 58 25 28  |VE EDGES..   X%(|
00000090  29 20 52 45 43 4f 52 44  53 20 54 48 45 20 58 20  |) RECORDS THE X |
000000a0  43 4f 4d 50 4f 4e 45 4e  54 53 20 4f 46 20 54 48  |COMPONENTS OF TH|
000000b0  45 20 43 4f 4f 52 44 49  4e 41 54 45 53 20 4f 46  |E COORDINATES OF|
000000c0  20 54 48 45 53 45 20 50  49 58 45 4c 53 2c 0a 20  | THESE PIXELS,. |
000000d0  20 20 59 25 28 29 20 52  45 43 4f 52 44 53 20 54  |  Y%() RECORDS T|
000000e0  48 45 20 59 20 43 4f 4d  50 4f 4e 45 4e 54 53 2e  |HE Y COMPONENTS.|
000000f0  0a 20 20 20 54 48 45 20  45 44 47 45 53 20 45 58  |.   THE EDGES EX|
00000100  54 45 4e 44 20 57 48 49  4c 45 20 54 48 45 20 54  |TEND WHILE THE T|
00000110  45 58 54 55 52 45 20 47  52 4f 57 53 20 49 4e 20  |EXTURE GROWS IN |
00000120  53 49 5a 45 2e 20 20 45  41 43 48 20 41 43 54 49  |SIZE.  EACH ACTI|
00000130  56 45 20 50 49 58 45 4c  0a 20 20 20 49 53 20 50  |VE PIXEL.   IS P|
00000140  52 4f 43 45 53 53 45 44  20 53 55 43 48 20 54 48  |ROCESSED SUCH TH|
00000150  41 54 20 49 46 20 4e 45  49 47 48 42 4f 55 52 49  |AT IF NEIGHBOURI|
00000160  4e 47 20 50 49 58 45 4c  53 20 41 52 45 20 46 4f  |NG PIXELS ARE FO|
00000170  55 4e 44 20 54 4f 20 42  45 20 49 4e 20 0a 20 20  |UND TO BE IN .  |
00000180  20 42 41 43 4b 47 52 4f  55 4e 44 20 43 4f 4c 4f  | BACKGROUND COLO|
00000190  55 52 20 28 42 4c 41 43  4b 29 20 54 48 45 4e 20  |UR (BLACK) THEN |
000001a0  54 48 45 53 45 20 43 4f  4f 52 44 49 4e 41 54 45  |THESE COORDINATE|
000001b0  53 20 41 52 45 20 41 44  44 45 44 20 54 4f 20 54  |S ARE ADDED TO T|
000001c0  48 45 20 4c 49 53 54 2e  0a 20 20 20 50 49 58 45  |HE LIST..   PIXE|
000001d0  4c 53 20 41 52 45 20 43  48 4f 53 45 4e 20 41 54  |LS ARE CHOSEN AT|
000001e0  20 52 41 4e 44 4f 4d 20  46 52 4f 4d 20 54 48 45  | RANDOM FROM THE|
000001f0  20 41 52 52 41 59 53 20  46 4f 52 20 50 52 4f 43  | ARRAYS FOR PROC|
00000200  45 53 53 49 4e 47 2e 0a  20 20 20 41 20 43 4f 55  |ESSING..   A COU|
00000210  4e 54 45 52 20 4b 45 45  50 53 20 52 45 43 4f 52  |NTER KEEPS RECOR|
00000220  44 20 4f 46 20 48 4f 57  20 4d 41 4e 59 20 43 4f  |D OF HOW MANY CO|
00000230  4f 52 44 49 4e 41 54 45  53 20 41 52 45 20 53 54  |ORDINATES ARE ST|
00000240  4f 52 45 44 2e 20 20 53  4f 20 54 48 45 20 41 43  |ORED.  SO THE AC|
00000250  54 49 56 45 2d 0a 20 20  20 45 44 47 45 2d 50 49  |TIVE-.   EDGE-PI|
00000260  58 45 4c 2d 43 4f 4f 52  44 49 4e 41 54 45 53 20  |XEL-COORDINATES |
00000270  4c 49 53 54 49 4e 47 20  43 4f 4e 53 54 41 4e 54  |LISTING CONSTANT|
00000280  4c 59 20 57 41 58 45 53  20 41 4e 44 20 57 41 4e  |LY WAXES AND WAN|
00000290  45 53 20 49 4e 20 53 49  5a 45 2e 0a 20 20 20 41  |ES IN SIZE..   A|
000002a0  43 43 4f 52 44 49 4e 47  20 54 4f 20 54 48 45 20  |CCORDING TO THE |
000002b0  44 49 52 45 43 54 49 4f  4e 20 4f 46 20 47 52 4f  |DIRECTION OF GRO|
000002c0  57 54 48 20 28 4f 4e 20  4f 46 20 38 29 2c 20 54  |WTH (ON OF 8), T|
000002d0  48 45 20 50 49 58 45 4c  20 41 43 51 55 49 52 45  |HE PIXEL ACQUIRE|
000002e0  53 20 41 20 0a 20 20 20  43 4f 4c 4f 55 52 2e 0a  |S A .   COLOUR..|
000002f0  20 20 20 54 48 45 20 43  45 4e 54 52 41 4c 20 50  |   THE CENTRAL P|
00000300  49 58 45 4c 20 54 48 45  4e 20 42 45 43 4f 4d 45  |IXEL THEN BECOME|
00000310  53 20 45 4e 43 4c 4f 53  45 44 20 41 4e 44 20 49  |S ENCLOSED AND I|
00000320  53 20 45 52 41 53 45 44  20 46 52 4f 4d 20 54 48  |S ERASED FROM TH|
00000330  45 20 41 52 52 41 59 53  20 42 59 0a 20 20 20 4f  |E ARRAYS BY.   O|
00000340  56 45 52 57 52 49 54 49  4e 47 20 49 54 20 57 49  |VERWRITING IT WI|
00000350  54 48 20 54 48 45 20 4c  41 53 54 20 45 4e 54 52  |TH THE LAST ENTR|
00000360  59 2c 20 41 4e 44 20 54  48 45 20 4c 49 53 54 49  |Y, AND THE LISTI|
00000370  4e 47 27 53 20 53 49 5a  45 20 49 53 20 41 44 4a  |NG'S SIZE IS ADJ|
00000380  55 53 54 45 44 2e 0a 20  20 20 54 48 49 53 20 50  |USTED..   THIS P|
00000390  52 4f 43 45 53 53 20 49  53 20 52 45 50 45 41 54  |ROCESS IS REPEAT|
000003a0  45 44 20 55 4e 54 49 4c  20 54 48 45 20 53 43 52  |ED UNTIL THE SCR|
000003b0  45 45 4e 20 49 53 20 46  49 4c 4c 45 44 20 57 49  |EEN IS FILLED WI|
000003c0  54 48 20 41 20 54 45 58  54 55 52 45 2e 0a 20 20  |TH A TEXTURE..  |
000003d0  20 49 20 43 41 4c 4c 45  44 20 49 54 20 27 43 41  | I CALLED IT 'CA|
000003e0  4e 44 59 27 20 42 45 43  41 55 53 45 20 54 48 41  |NDY' BECAUSE THA|
000003f0  54 20 49 53 20 57 48 41  54 20 49 54 20 4c 4f 4f  |T IS WHAT IT LOO|
00000400  4b 53 20 4c 49 4b 45 2c  20 4d 4f 55 54 41 49 4e  |KS LIKE, MOUTAIN|
00000410  53 20 4f 46 20 43 41 4e  44 59 2e 0a 20 20 20 54  |S OF CANDY..   T|
00000420  48 45 52 45 20 49 53 20  41 4e 4f 54 48 45 52 20  |HERE IS ANOTHER |
00000430  49 4d 50 4c 45 4d 45 4e  54 41 54 49 4f 4e 20 4f  |IMPLEMENTATION O|
00000440  46 20 54 48 49 53 20 52  4f 55 54 49 4e 45 20 43  |F THIS ROUTINE C|
00000450  41 4c 4c 45 44 20 27 4d  41 5a 45 27 2e 20 20 49  |ALLED 'MAZE'.  I|
00000460  4e 20 54 48 49 53 0a 20  20 20 52 4f 55 54 49 4e  |N THIS.   ROUTIN|
00000470  45 20 41 20 4d 41 5a 45  20 49 53 20 46 4c 4f 4f  |E A MAZE IS FLOO|
00000480  44 45 44 20 57 49 54 48  20 41 20 27 43 41 4e 44  |DED WITH A 'CAND|
00000490  59 27 20 54 45 58 54 55  52 45 2e 20 20 4f 4e 45  |Y' TEXTURE.  ONE|
000004a0  20 43 41 4e 20 41 4c 53  4f 20 4f 42 53 45 52 56  | CAN ALSO OBSERV|
000004b0  45 0a 20 20 20 54 48 45  20 50 52 4f 43 45 53 53  |E.   THE PROCESS|
000004c0  20 4d 41 47 4e 49 46 49  45 44 20 41 54 20 54 48  | MAGNIFIED AT TH|
000004d0  45 20 50 4f 49 4e 54 45  52 27 53 20 50 4f 53 49  |E POINTER'S POSI|
000004e0  54 49 4f 4e 2e 0a 20 20  20 0a 0a 20 20 20 4a 45  |TION..   ..   JE|
000004f0  41 4e 20 56 41 4e 20 4d  4f 55 52 49 4b 0a 20 20  |AN VAN MOURIK.  |
00000500  20 54 48 49 52 44 20 4d  49 4c 4c 45 4e 4e 49 55  | THIRD MILLENNIU|
00000510  4d 0a 20 20 20 4d 49 4c  4c 20 43 4f 54 54 41 47  |M.   MILL COTTAG|
00000520  45 0a 20 20 20 44 45 52  57 59 44 44 0a 20 20 20  |E.   DERWYDD.   |
00000530  41 4d 4d 41 4e 46 4f 52  44 0a 20 20 20 44 59 46  |AMMANFORD.   DYF|
00000540  45 44 20 20 20 53 41 31  38 20 33 4c 51 0a 20 20  |ED   SA18 3LQ.  |
00000550  20 55 4e 49 54 45 44 20  4b 49 4e 47 44 4f 4d 20  | UNITED KINGDOM |
00000560  20 20 20                                          |   |
00000563