Rule:Wireworld++
@RULE Wireworld++
- Rule by Vladislav Gladkikh and Alexandr Nigay
- Wireworld++ is like 2 WireWorld's mashed together. There are 2 separate WireWorlds inside Wireworld++ - the 'strong' world (states 1, 2, 3) and the 'weak' world (states 4, 5, 6).
- Independently, any circuit built entirely out of cells from only one world behave identicaly to regular WireWorld - since it takes 1 or 2 adjacent 'weak' heads (state 4) to turn a weak wire (state 6) into a weak head, and the same goes for the strong wire (state 3) and its heads (state 1).
- The power of Wireworld++ arises when one puts the two worlds together. A strong wire will turn to a strong head when exactly two of its neighbors are weak heads, while a weak wire will turn to a weak head if exactly one of its neighbors is a strong head.
- With this, it is very easy to construct very small AND and XOR gates. To make an AND gate, connect two weak wires (inputs) to one strong wire (output). To make an XOR gate, connect two strong wires to a weak wire.
- Fore more information, read this article:
- ---------------------------------------------------------
- The following script was used with the standard script 'make-ruletree.py' to generate the TREE section of this file:
- name = "Wireworld++"
- n_states = 7
- n_neighbors = 8
- def transition_function(a):
- nw, ne, sw, se, n, w, e, s, c = a #unpack
- neigh = n, ne, e, se, s, sw, w, nw #repack
- BG=0;SH=1;ST=2;SW=3;WH=4;WT=5;WW=6
- shc = 0
- whc = 0
- for n in neigh:
- if n == SH: shc += 1
- if n == WH: whc += 1
- if c==BG: return BG
- elif c==SH: return ST
- elif c==ST: return SW
- elif c==WH: return WT
- elif c==WT: return WW
- elif c==SW:
- if shc==1 or shc==2 or whc==2: return SH
- else: return SW
- elif c==WW:
- if whc==1 or whc==2 or shc==1: return WH
- else: return WW
- else: raise ValueError("invalid state: " + str(c))
@TREE
num_states=7 num_neighbors=8 num_nodes=81 1 0 2 3 3 5 6 6 1 0 2 3 1 5 6 4 1 0 2 3 3 5 6 4 2 0 1 0 0 2 0 0 1 0 2 3 1 5 6 6 2 1 4 1 1 1 1 1 2 2 1 2 2 1 2 2 3 3 5 3 3 6 3 3 2 4 0 4 4 1 4 4 2 1 1 1 1 1 1 1 3 5 8 5 5 9 5 5 2 1 1 1 1 0 1 1 3 6 9 6 6 11 6 6 4 7 10 7 7 12 7 7 2 0 0 0 0 2 0 0 2 1 2 1 1 1 1 1 3 8 14 8 8 15 8 8 3 9 15 9 9 9 9 9 4 10 16 10 10 17 10 10 2 0 1 0 0 0 0 0 3 11 9 11 11 19 11 11 4 12 17 12 12 20 12 12 5 13 18 13 13 21 13 13 2 2 2 2 2 1 2 2 3 14 14 14 14 23 14 14 2 1 1 1 1 4 1 1 3 15 23 15 15 25 15 15 4 16 24 16 16 26 16 16 3 9 25 9 9 5 9 9 4 17 26 17 17 28 17 17 5 18 27 18 18 29 18 18 3 19 5 19 19 19 19 19 4 20 28 20 20 31 20 20 5 21 29 21 21 32 21 21 6 22 30 22 22 33 22 22 3 23 23 23 23 11 23 23 4 24 24 24 24 35 24 24 2 4 0 4 4 4 4 4 3 25 11 25 25 37 25 25 4 26 35 26 26 38 26 26 5 27 36 27 27 39 27 27 3 5 37 5 5 5 5 5 4 28 38 28 28 41 28 28 5 29 39 29 29 42 29 29 6 30 40 30 30 43 30 30 4 31 41 31 31 31 31 31 5 32 42 32 32 45 32 32 6 33 43 33 33 46 33 33 7 34 44 34 34 47 34 34 2 0 0 0 0 0 0 0 3 11 11 11 11 49 11 11 4 35 35 35 35 50 35 35 5 36 36 36 36 51 36 36 3 37 49 37 37 37 37 37 4 38 50 38 38 53 38 38 5 39 51 39 39 54 39 39 6 40 52 40 40 55 40 40 4 41 53 41 41 41 41 41 5 42 54 42 42 57 42 42 6 43 55 43 43 58 43 43 7 44 56 44 44 59 44 44 5 45 57 45 45 45 45 45 6 46 58 46 46 61 46 46 7 47 59 47 47 62 47 47 8 48 60 48 48 63 48 48 3 49 49 49 49 49 49 49 4 50 50 50 50 65 50 50 5 51 51 51 51 66 51 51 6 52 52 52 52 67 52 52 4 53 65 53 53 53 53 53 5 54 66 54 54 69 54 54 6 55 67 55 55 70 55 55 7 56 68 56 56 71 56 56 5 57 69 57 57 57 57 57 6 58 70 58 58 73 58 58 7 59 71 59 59 74 59 59 8 60 72 60 60 75 60 60 6 61 73 61 61 61 61 61 7 62 74 62 62 77 62 62 8 63 75 63 63 78 63 63 9 64 76 64 64 79 64 64
@COLORS
0 0 0 0 1 255 255 0 2 127 127 0 3 102 32 0 4 255 255 255 5 136 136 136 6 34 34 34