WireWorld-Follow
Posted: May 11th, 2020, 2:28 pm
I made a toy WireWorld variant where I could mark one photon with a different color and see where it ends up in the circuit. Useful for debugging. Just stick an F at the end of the name in the rule selection dialog to start following. Remove the F and marked photons just revert to Wire (because that's the last state in WW).
Marked head overrules normal head so it doesn't get lost in the first gate it encounters. It's not water-tight though, as some gates (like inverters and AND gates) use one input just to block another photon.
[edit] updated rule (same functionality differently formulated) with help of RedstoneBoi and Hactar's help.
Marked head overrules normal head so it doesn't get lost in the first gate it encounters. It's not water-tight though, as some gates (like inverters and AND gates) use one input just to block another photon.
Code: Select all
@RULE WireWorldF
A WireWorld variant called WireWorld-Follow, where a photon can be marked to be followed through the circuit.
@NAMES
0 Background
1 Head
2 Tail
3 Wire
4 Marked head
@COLORS
0 0 0 0
1 255 255 255
2 144 128 112
3 144 90 45
4 96 160 255
@TABLE
n_states: 5
neighborhood: Moore
symmetries: permute
var a={0,1,2,3,4}
var b=a
var c=a
var d=a
var e=a
var f=a
var g=a
var h=a
var Q={4,1}
var R=Q
var S=Q
3 Q,R,S,d,e,f,g,h 3 #Three or more photons don't propagate
3 Q,b,c,d,e,f,g,h Q #... fewer photons propagate
Q a,b,c,d,e,f,g,h 2 #Photon -> tail
2 a,b,c,d,e,f,g,h 3 #Tail -> wireCode: Select all
x = 15, y = 31, rule = WireWorldF
A5C$6.C$5.8C$6.C$D5C3$5.2C$4.C2.3C$D3C2.C3.C$6.C.C.C$5.5C$6.C.C.5C$A
3C2.C$4.2C2$5.2C$4.C2.3C$A3C2.C3.C$6.C.C.C$5.5C$6.C.C.5C$D3C2.C$4.2C
3$8.AC$7.B2.C$5.C.B2C$D6C$5.C.8C!