Rule:ColorSignalsLife

From LifeWiki
Revision as of 23:45, 17 November 2021 by Dvgrn (talk | contribs) (multicolor rule that preserves signal color through (most) stable conduits)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

@RULE ColorSignalsLife

A rule designed to maintain signal color for five different signal types, even when signals are traveling through circuitry such as Herschel circuitry that may include transparent catalysts. The first ON state (only) leaves a trail. There are also five marked "filter" states, where any signal passing through those marked cells will be converted to the appropriate one of the five colors.

The first five ON states are "standard" non-conduit states. state 1 - standard ON green w/history state 2 - standard ON orange state 3 - standard ON yellow state 4 - standard ON cyan state 5 - standard ON white state 6 - marked OFF dark green state 7 - marked OFF dark orange state 8 - marked OFF dark cyan state 9 - marked OFF dark purple state 10 - marked OFF brick red state 11 - marked ON pale green state 12 - marked ON pale orange state 13 - marked ON pale cyan state 14 - marked ON pale purple state 15 - marked ON hot pink state 16 - conduit OFF green state 17 - conduit OFF orange state 18 - conduit OFF cyan state 19 - conduit OFF purple state 20 - conduit OFF gray state 21 - conduit ON eggshell state 22 - history OFF blue

@TABLE

n_states:23 neighborhood:Moore symmetries:permute var all1={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22} var all2=all1 var all3=all1 var all4=all1 var all5=all1 var all6=all1 var all7=all1 var all8=all1 var allOn1={1,2,3,4,5,11,12,13,14,15,21} var allOn2=allOn1 var allOn3=allOn1 var allOff1={0,6,7,8,9,10,16,17,18,19,20,22} var allOff2=allOff1 var allOff3=allOff1 var allOff4=allOff1 var allOff5=allOff1 var allOff6=allOff1 var standardOn={1,2,3,4,5} var standardOn1=standardOn var standardOn2=standardOn var standardOn3=standardOn var standardOff={0,22} var markedOff={6,7,8,9,10} var markedOn={11,12,13,14,15} var conduitOff={16,17,18,19,20} var conduitOn={21} var conduitOn1=conduitOn var HistoryStates={1} var allcol1a={1,6,11,16,21} var allcol1b=allcol1a var allcol2a={2,7,12,17,21} var allcol2b=allcol2a var allcol3a={3,8,13,18,21} var allcol3b=allcol3a var allcol4a={4,9,14,19,21} var allcol4b=allcol4a var allcol5a={5,10,15,20,21} var allcol5b=allcol5a var livecol1a={1,11,21} var livecol1b=livecol1a var livecol2a={2,12,21} var livecol2b=livecol2a var livecol3a={3,13,21} var livecol3b=livecol3a var livecol4a={4,14,21} var livecol4b=livecol4a var livecol5a={5,15,21} var livecol5b=livecol5a

  1. standard ON cell birth

standardOff,standardOn,allOn1,allOn2,allOff1,allOff2,allOff3,allOff4,allOff5,standardOn

  1. birth into a conduit OFF cell (ON conduits don't have a color, always just state 21)

conduitOff,21,livecol1a,livecol1b,allOff1,allOff2,allOff3,allOff4,allOff5,21

  1. handle weird case when someone is misusing the rule, so Life rules still apply)

conduitOff,allOn1,allOn2,allOn3,allOff1,allOff2,allOff3,allOff4,allOff5,21

  1. make sure Life rules always apply even when signal colors are mixed
  2. (default to state 5 for standardOff, state 20 for conduitOff)

conduitOff,allOn1,allOn2,allOn3,allOff1,allOff2,allOff3,allOff4,allOff5,20

  1. birth next to marked cell

standardOff,15,allOn1,allOn2,allOff1,allOff2,allOff3,allOff4,allOff5,5 standardOff,14,allOn1,allOn2,allOff1,allOff2,allOff3,allOff4,allOff5,4 standardOff,13,allOn1,allOn2,allOff1,allOff2,allOff3,allOff4,allOff5,3 standardOff,12,allOn1,allOn2,allOff1,allOff2,allOff3,allOff4,allOff5,2 standardOff,11,allOn1,allOn2,allOff1,allOff2,allOff3,allOff4,allOff5,1

  1. birth next to conduit

standardOff,21,livecol5a,livecol5b,allOff1,allOff2,allOff3,allOff4,allOff5,5 standardOff,21,livecol4a,livecol4b,allOff1,allOff2,allOff3,allOff4,allOff5,4 standardOff,21,livecol3a,livecol3b,allOff1,allOff2,allOff3,allOff4,allOff5,3 standardOff,21,livecol2a,livecol2b,allOff1,allOff2,allOff3,allOff4,allOff5,2 standardOff,21,livecol1a,livecol1b,allOff1,allOff2,allOff3,allOff4,allOff5,1

  1. this one is already covered by the more general line below
  2. standardOff,standardOn1,standardOn2,standardOn3,allOff1,allOff2,allOff3,allOff4,allOff5,5
  1. go to state 5 if there's a weird mix of conduit, marked, and standard that hasn't been covered by the rules above

standardOff,allOn1,allOn2,allOn3,allOff1,allOff2,allOff3,allOff4,allOff5,5

  1. marked ON birth

6,allOn1,allOn2,allOn3,allOff1,allOff2,allOff3,allOff4,allOff5,11 7,allOn1,allOn2,allOn3,allOff1,allOff2,allOff3,allOff4,allOff5,12 8,allOn1,allOn2,allOn3,allOff1,allOff2,allOff3,allOff4,allOff5,13 9,allOn1,allOn2,allOn3,allOff1,allOff2,allOff3,allOff4,allOff5,14 10,allOn1,allOn2,allOn3,allOff1,allOff2,allOff3,allOff4,allOff5,15

  1. go to state 1 if there's a weird mix of conduit, marked, and standard that hasn't been covered by the rules above

standardOff,allOn1,allOn2,allOn3,allOff1,allOff2,allOff3,allOff4,allOff5,5

  1. surviving conduit cell changes color when there's an OFF cell for a different color conduit next door

conduitOn,conduitOn1,allOn1,allOff1,allOff2,allOff3,allOff4,allOff5,allOff6,conduitOn1

  1. standard, marked, and conduit survival (stays the same)

standardOn,allOn1,allOn2,allOff1,allOff2,allOff3,allOff4,allOff5,allOff6,standardOn standardOn,allOn1,allOn2,allOn3,allOff1,allOff2,allOff3,allOff4,allOff5,standardOn markedOn,allOn1,allOn2,allOff1,allOff2,allOff3,allOff4,allOff5,allOff6,markedOn markedOn,allOn1,allOn2,allOn3,allOff1,allOff2,allOff3,allOff4,allOff5,markedOn conduitOn,allOn1,allOn2,allOff1,allOff2,allOff3,allOff4,allOff5,allOff6,conduitOn conduitOn,allOn1,allOn2,allOn3,allOff1,allOff2,allOff3,allOff4,allOff5,conduitOn

  1. marked cell death

11,all1,all2,all3,all4,all5,all6,all7,all8,6 12,all1,all2,all3,all4,all5,all6,all7,all8,7 13,all1,all2,all3,all4,all5,all6,all7,all8,8 14,all1,all2,all3,all4,all5,all6,all7,all8,9 15,all1,all2,all3,all4,all5,all6,all7,all8,10

  1. conduit cell death

21,allcol1a,all2,all3,all4,all5,all6,all7,all8,16 21,allcol2a,all2,all3,all4,all5,all6,all7,all8,17 21,allcol3a,all2,all3,all4,all5,all6,all7,all8,18 21,allcol4a,all2,all3,all4,all5,all6,all7,all8,19 21,allcol5a,all2,all3,all4,all5,all6,all7,all8,20

  1. deal with cases where there's just an isolated ON conduit cell --
  2. have to use surrounding OFF cells to determine what color the OFF cell should be

21,livecol1a,all2,all3,all4,all5,all6,all7,all8,16 21,livecol2a,all2,all3,all4,all5,all6,all7,all8,17 21,livecol3a,all2,all3,all4,all5,all6,all7,all8,18 21,livecol4a,all2,all3,all4,all5,all6,all7,all8,19 21,livecol5a,all2,all3,all4,all5,all6,all7,all8,20

  1. state 1 and 2 cell death (goes to blue history color)

HistoryStates,all1,all2,all3,all4,all5,all6,all7,all8,22

  1. all other standard signal cell death (goes to state 0)

allOn1,all1,all2,all3,all4,all5,all6,all7,all8,0

@NAMES

  1. these state names are not yet used by Golly
0 empty
1 standard ON green w/history
2 standard ON orange
3 standard ON yellow
4 standard ON cyan
5 standard ON white
6 marked OFF dark green
7 marked OFF dark orange
8 marked OFF dark cyan
9 marked OFF dark purple

10 marked OFF brick red 11 marked ON pale green 12 marked ON pale orange 13 marked ON pale cyan 14 marked ON pale purple 15 marked ON hot pink 16 conduit OFF green 17 conduit OFF orange 18 conduit OFF cyan 19 conduit OFF purple 20 conduit OFF gray 21 conduit ON eggshell 22 history OFF blue

@COLORS

1 0 255 0 # standard ON green w/history 2 255 165 0 # standard ON orange 3 0 255 255 # standard ON yellow 4 192 0 192 # standard ON cyan 5 192 0 0 # standard ON white 6 0 128 0 # marked OFF dark green 7 128 100 0 # marked OFF dark orange 8 0 128 128 # marked OFF dark cyan 9 128 0 128 # marked OFF dark purple 10 203 65 84 # marked OFF brick red 11 128 255 128 # marked ON pale green 12 255 192 128 # marked ON pale orange 13 255 255 0 # marked ON pale cyan 14 128 255 255 # marked ON pale purple 15 255 105 180 # marked ON hot pink 16 219 112 147 # conduit OFF green 17 255 192 128 # conduit OFF orange 18 255 255 128 # conduit OFF cyan 19 64 0 64 # conduit OFF purple 20 128 128 128 # conduit OFF gray 21 240 234 214 # conduit ON eggshell 22 0 0 255 # history OFF blue