Rule:WWE2
@RULE WWE2
- (Alan Tennant)'s Extendable WireWorld 2 in Golly rule-table format. v1.02.0
- Contact: alan2here@gmail.com
- Thanks to the Golly Gang
- Thanks to Brian Silverman for making WireWorld
- Thanks to Mark Owen for demonstrating the power of WireWorld
- Thanks to Dave Greene for converting WWE1 to Rot4 from Rot8
- Thanks to Calcayman
- Cell types in order (WireWorld, WWE specific, placed automatically)
- space
- electron head
- signal electron tail
- wire
- turn left electron tail
- extend electron tail
- minor retract electron tail
- turn right electron tail
- frozen state
- constructor state
- frozen tail
- constructor tail
- turn left growth
- turn right growth
- frozen growth
- constructor growth
- moderate retract state
- construction wire
- agressive retract state
- construction wire helper
- universal retract growth 1
- universal retract growth 2
- constructor helper
- General rules
- Relationships between space, wires, electron heads and tails behave mostly as in WireWorld.
- Some WireWorld and WWE1 circuits will have to be modified slightly to work with WWE2.
- Electrons with turn left, turn right, extend, minor contract, frozen or construct tails ajust the end of wires they come into contact with.
- Extend adds to the end of wires, unlike WWE1 wires cannot be joined on corners or sides using the extend electron, this must be done by construction.
- Signal type changing collision rules
- When signals come together at equal times in junctions what tail to use must be decided.
- T-junctions where two electrons collide at 90 degrees results in the color that changes direction continuing.
- Signals switch at crossroads where the left signal becomes the lower signal and the top signal becomes the right signal.
- T-junctions where two electrons collide head on at the same time results in a signal electron being output.
- Unlike WWE 1 there is no concept of contrasting signals.
- Frozen state & rotation
- Colour rotation follows the order signal, turn left, turn right, extend, minor contract, frozen, construct, signal, etc...
- Electrons passing the correct direction passed a frozen state for what side of the wire the frozen state is on rotate in color, the signal vn be refered to as being promoted and the structure is vlled a premote gate.
- Electrons passing two premote gates, one on either side of the wire reset to being signal electrons, this is called a reset gate.
- When on the ends of wires frozen states reflect any signal as a signal electron removing the frozen state in the process.
- Advanced retracts
- Two retract electrons colliding on a straight wire perfoms a minor retract and removes a cdll.
- Retract and expand electrons colliding on a straight wire performs a moderate retract generally removing that wire.
- A turn left and a turn right electron colliding on a straight wire performs an agressive retract.
- A signal electron reaching the end of a wire creates a universal retract.
- There is another removing rule for when constructing but it is difficult to summarize in words.
- Other rules
- Both frozen and constructor states are created one cell away from the end of a wire.
- Constructor signals allow circuits to be built then triggered with a signal or contract electron causing them to become wire.
@TABLE n_states:23 neighborhood:Moore symmetries:rotate4
- all states
var a={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22} var b={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22} var c={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22} var d={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22} var e={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22} var f={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22} var g={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22} var h={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22}
- all except electron head and agressive retract state
- used in 'wire becoming electron head'
var i={0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20,21,22} var j={0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20,21,22} var k={0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20,21,22} var l={0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20,21,22} var m={0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20,21,22} var n={0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,19,20,21,22}
- space related including frozen state, constructor state and space related growths, not including agressive retract state or constructor helper.
var o={0,8,9,12,13,14,15,16,21} var p={0,8,9,12,13,14,15,16,21} var q={0,8,9,12,13,14,15,16,21} var r={0,8,9,12,13,14,15,16,21} var s={0,8,9,12,13,14,15,16,21} var t={0,8,9,12,13,14,15,16,21} var u={0,8,9,12,13,14,15,16,21}
- wire related not including frozen state, constructor state, retract states, construction wire helper, constructor helper or growths.
var w={1,2,3,4,5,6,7,10,11} var x={1,2,3,4,5,6,7,10,11} var y={1,2,3,4,5,6,7,10,11} var z={1,2,3,4,5,6,7,10,11}
- electron tails
var aa={2,4,5,6,7,10,11} var ab={2,4,5,6,7,10,11} var ac={2,4,5,6,7,10,11}
- electron tails except signal
var ba={4,5,6,7,10,11}
- states that return to space if not otherwise specified
var ca={12,13,14,15,16,18,19}
- minor contract, signal electron tail and constructor helper
var da={2,6,22}
- wire related including frozen state, constructor state, construction wire helper, not including retract states, constructor helper or growths.
var ea={1,2,3,4,5,6,7,8,9,10,11,17}
- used in 'universal retract'
var fa={0,12,13,14,15} var fb={0,12,13,14,15} var fc={0,12,13,14,15} var fd={0,12,13,14,15} var fe={0,12,13,14,15} var ff={0,12,13,14,15} var fg={0,12,13,14,15}
- wire related including construction wire helper, not including electron head, retract states, frozen state, constructor state, constructor helper or growths.
var ga={2,3,4,5,6,7,10,11,17}
- universal retract
2,fa,fb,fc,fd,ga,fe,ff,fg,20 #first growth 21,20,a,b,c,d,e,f,g,0 #2nd growth being removed o,20,p,a,b,c,d,e,q,21 #2nd growth 20,a,b,21,c,d,e,f,g,3 #1st growth being returned to wire ea,a,b,c,d,e,20,21,g,ea ea,a,b,c,d,e,f,21,20,ea ea,a,b,c,d,e,f,21,g,0
- frozen
0,10,o,p,a,b,c,q,r,14 #growth 0,14,o,a,b,c,d,e,p,8 #state from growth 1,8,o,p,q,aa,r,s,t,1#reflect 8,1,o,p,a,b,c,q,r,0 #reflect 1,8,o,3,p,8,q,aa,r,2 #reset gate
- constructor
0,11,o,p,a,b,c,q,r,15 #growth 0,15,o,a,b,c,d,e,p,9 #state from growth 3,a,b,9,9,c,d,e,f,17 #turn wire into construction wire 3,a,9,9,b,c,d,e,f,17 #turn wire into construction wire 9,a,17,17,17,b,c,d,e,0 #remove construction state while placing construction wire 17,22,a,b,c,d,e,f,g,19 #construction wire being removed by signal electron tail 17,a,22,b,c,d,e,f,g,19 #construction wire being removed by signal electron tail 17,19,a,b,c,d,e,f,g,19 #construction wire being removed by signal electron tail 17,a,19,b,c,d,e,f,g,19 #construction wire being removed by signal electron tail 9,da,a,b,c,d,e,f,g,22 #minor contract, signal electron tail or constructor helper turns constructor state into wire 9,a,da,b,c,d,e,f,g,22 #minor contract, signal electron tail or constructor helper turns constructor state into wire
- wire being removed by minor contract electron tail
6,w,o,p,q,r,s,t,u,0 6,o,p,q,r,s,t,u,w,0 1,6,o,p,q,6,r,s,t,0
- moderate retract
1,6,o,p,q,5,r,s,t,16 ea,16,a,b,c,d,e,f,g,16
- agressive retract
1,o,p,4,q,r,s,7,t,18 ea,18,a,b,c,d,e,f,g,18 ea,a,18,b,c,d,e,f,g,18
- premote gates
1,8,o,3,a,b,c,2,d,4 1,8,o,3,a,b,c,4,d,7 1,8,o,3,a,b,c,7,d,5 1,8,o,3,a,b,c,5,d,6 1,8,o,3,a,b,c,6,d,10 1,8,o,3,a,b,c,10,d,11 1,8,o,3,a,b,c,11,d,2
- electron head turn into electron tail
1,a,b,aa,c,d,e,aa,f,aa #head on t-junction dosn't become signal electron if both types are the same 1,a,b,c,aa,d,aa,e,f,aa #head on t-junction dosn't become signal electron if both types are the same 1,a,b,aa,c,d,e,ab,f,2 #head on t-junction becomes signal electron 1,a,b,c,aa,d,ab,e,f,2 #head on t-junction becomes signal electron 1,ba,a,b,c,d,e,f,g,ba 1,a,b,c,d,e,f,g,ba,ba 1,a,b,c,d,e,f,g,h,2
- wire becoming electron head (Inherited from WireWorld code)
3,i,j,k,l,m,n,a,1,1 3,1,i,j,k,l,m,n,a,1 3,i,j,k,l,m,1,n,1,1 3,1,i,j,k,l,m,1,n,1 3,i,j,k,l,1,m,n,1,1 3,1,i,j,k,l,1,m,n,1 3,i,j,k,1,l,m,n,1,1 3,1,i,j,k,1,l,m,n,1
- turn left
0,12,w,12,a,b,c,d,e,0 #anti-bug 0,4,o,p,q,r,s,t,u,12 0,12,w,o,p,q,r,s,t,3 0,o,12,w,x,p,q,r,s,12 0,o,p,w,12,q,r,a,s,3
- turn right
0,13,w,13,a,b,c,d,e,0 #anti-bug 0,7,o,p,q,r,s,t,u,13 0,o,w,13,p,q,r,s,t,3 0,o,w,x,13,p,q,r,s,13 0,o,13,w,p,q,r,a,s,3
- extend
0,5,o,p,q,r,s,t,u,3 0,5,o,p,q,w,r,s,t,3
- other
ca,a,b,c,d,e,f,g,h,0 #growth and retract states returning to space 22,a,b,c,d,e,f,g,h,3 #constructor helper becoming copper wire aa,a,b,c,d,e,f,g,h,3 #electron tails returning to copper wire