home *** CD-ROM | disk | FTP | other *** search
/ APDL Public Domain 1 / APDL_PD1A.iso / fractal / arcaut / Info / Table4 < prev    next >
Encoding:
Text File  |  1991-08-01  |  3.4 KB  |  36 lines

  1.  
  2.  TABLE 4: Initialisation of parameters
  3.  
  4.  
  5.   There is an as yet unresolved problem concerning what happens at the edge of the CA universe, where cells apparently don't
  6. always have the full complement of neighbours.
  7.   ArcAut allows two solutions. We can either identify the left hand edge with the right hand edge, as if they were side by side,
  8. & similarly, the top with the bottom. The result is that we no longer have any edges to worry about! The window effectively
  9. corresponds to the surface of a torus or doughnut (the sort with a hole in the middle). The other possibility is to let the
  10. automaton behave as if the border of cells surrounding the window do exist, but are forced to maintain a fixed state. This is
  11. used in the current definition of 'Life'. It is a useful facility if we want to prevent 'objects' such as gliders, wandering off one side of the window, only to reappear on the other, & then go & interfere with whatever is happening in the centre.
  12.  
  13.  
  14.   Name of system variable      Possible values       Default value         Meaning
  15.  
  16.           wrap                 on|off                on                    selects whether the CA universe has wrap-around or
  17.                                                                            is bordered by cells of a fixed state
  18.         border                 {0,1,. . .,255}       no default            specifies cell state for border; used when wrap=off
  19.           neig                 moore|margolus        moore                 selects the type of neighbourhood required by the
  20.                                                                            automaton; see table 3
  21.           flag                 0|3|4|7               0                     used when neig=margolus; specifies whether automaton
  22.                                                                            code register FLAG should return:
  23.                                                                    0                                                  ;if flag=0
  24.                                                                    0|1|2|3 depending on CELL's position within block
  25.                                                                            0 for UL, 1 for UR, 2 for LL, 3 for LR     ;if flag=3
  26.                                                                    0|4     depending on the phase
  27.                                                                            0 for even phase, 4 for odd phase          ;if flag=4
  28.                                                                    0 to 7  the sum of the above two items             ;if flag=7
  29.                                                                            see table 3
  30.           rndb                 on|off                off                   when neig=margolus & automaton requires use of the
  31.                                                                            RNDB command, you must set rndb to on;
  32.                                                                            see tables 2 & 3 and example DLA automaton
  33.  
  34.   To set any of these values include a command, for example '*SetEval wrap off', within the body of the procedure called do, in
  35. the section of text between INITIALISATION* & SCREEN* ; see some of the automatons provided for examples.
  36.   You may also use this procedure to allow the user to input parameters needed by your automaton; note, these must also be passed to the rest of the automaton via system variables. See for example the automatons Demon & FracGrow.