Difference between revisions of "Rule:Marbles"
I am islptng (talk | contribs) |
I am islptng (talk | contribs) |
||
| Line 28: | Line 28: | ||
var w2 = w1 | var w2 = w1 | ||
var nw = {0,2,3,8,17} | var nw = {0,2,3,8,17} | ||
var sb = {11,12} | |||
var sw = {9,14,5,7} | |||
# Sometimes we need to block the path | |||
sb,sw,a,b,c,d,e,f,g,9 | |||
sb,a,b,sw,c,d,e,f,g,9 | |||
sb,a,b,c,d,sw,e,f,g,9 | |||
sb,a,b,c,d,e,f,sw,g,9 | |||
# Normal ball movement | # Normal ball movement | ||
# Abnormal state(16) | # Abnormal state(16) | ||
| Line 84: | Line 93: | ||
# Wire | # Wire | ||
var tw = {10,15,4,6} | var tw = {10,15,4,6} | ||
var rw = {8,11,12,13} | var rw = {8,11,12,13} | ||
var rv = {8,11,12} | var rv = {8,11,12} | ||
Revision as of 07:02, 9 December 2024
@RULE Marbles
Inspired by a toy, this rule can do anything you can do in that toy set, or even something better. The toy is a marble track, but with logic gates. Different from Turing Tumble, this toy is not designed to be Turing Complete, but this ruleset does.
In the original toy, the board is only 20*20, but with Golly, the board is unbounded. The rule has a ball lift and a ball splitter, while the toy can't!
@TABLE n_states:18 neighborhood:Moore symmetries:none
var a = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17} var b = a var c = a var d = a var e = a var f = a var g = a var h = a
var lb = {2,11,17} var rb = {3,12,17} var xb = {lb,rb} var w1 = {1,4,5,6,7,9,10,13,14,15,16,xb} var w2 = w1 var nw = {0,2,3,8,17} var sb = {11,12} var sw = {9,14,5,7}
- Sometimes we need to block the path
sb,sw,a,b,c,d,e,f,g,9 sb,a,b,sw,c,d,e,f,g,9 sb,a,b,c,d,sw,e,f,g,9 sb,a,b,c,d,e,f,sw,g,9
- Normal ball movement
- Abnormal state(16)
- we have a ball duplicator...
0,xb,a,b,c,16,d,e,f,17
- and antigravity!
0,lb,a,b,c,d,e,16,16,0 0,a,b,c,d,lb,16,16,e,2 0,rb,16,16,a,b,c,d,e,0 0,a,b,16,16,rb,c,d,e,3 0,a,b,c,lb,16,d,e,f,2 0,a,b,c,d,16,rb,e,f,3 0,a,b,c,d,e,0,lb,16,3 0,a,16,rb,0,b,c,d,e,2
- Sometimes strange things happen
0,a,b,lb,c,w1,d,rb,e,17 0,a,lb,w1,b,c,d,w2,rb,17 0,17,a,b,c,d,e,f,g,17 0,xb,a,1,b,1,c,1,d,0
- On slopes
0,xb,a,w1,b,w2,c,d,e,2 8,xb,a,w1,b,w2,c,d,e,11 0,xb,a,b,c,w1,d,w2,e,3 8,xb,a,b,c,w1,d,w2,e,12
- Left
- Frozen
2,a,b,c,d,w1,e,w2,f,2
- Falling
0,lb,a,b,c,d,e,f,g,2 8,lb,a,b,c,d,e,f,g,11
- Moving left
0,a,b,lb,w1,w2,c,d,e,2 8,a,b,lb,w1,w2,c,d,e,11
- Falling from the edge
0,nw,lb,w1,a,b,c,d,e,2 8,nw,lb,w1,a,b,c,d,e,11
- Right
- Frozen
3,a,b,w1,c,w2,d,e,f,3
- Falling
0,rb,a,b,c,d,e,f,g,3 8,rb,a,b,c,d,e,f,g,12
- Moving right
0,a,b,c,d,w1,w2,rb,e,3 8,a,b,c,d,w1,w2,rb,e,12
- Falling from the edge
0,nw,a,b,c,d,e,w1,rb,3 8,nw,a,b,c,d,e,w1,rb,12
- Default
2,a,b,c,d,e,f,g,h,0 3,a,b,c,d,e,f,g,h,0 17,a,b,c,d,e,f,g,h,0 11,a,b,c,d,e,f,g,h,8 12,a,b,c,d,e,f,g,h,8
- Wire
var tw = {10,15,4,6} var rw = {8,11,12,13} var rv = {8,11,12} rv,sw,a,b,c,d,e,f,g,9 13,sw,a,b,c,d,e,f,g,14 rv,a,b,sw,c,d,e,f,g,9 13,a,b,sw,c,d,e,f,g,14 rv,a,b,c,d,sw,e,f,g,9 13,a,b,c,d,sw,e,f,g,14 rv,a,b,c,d,e,f,sw,g,9 13,a,b,c,d,e,f,sw,g,14 9,tw,a,b,c,d,e,f,g,10 14,tw,a,b,c,d,e,f,g,15 9,a,b,tw,c,d,e,f,g,10 14,a,b,tw,c,d,e,f,g,15 9,a,b,c,d,tw,e,f,g,10 14,a,b,c,d,tw,e,f,g,15 9,a,b,c,d,e,f,tw,g,10 14,a,b,c,d,e,f,tw,g,15 10,a,b,c,d,e,f,g,h,8 15,a,b,c,d,e,f,g,h,13
var sr = {4,5} 6,a,4,b,c,d,e,f,g,7 6,a,b,c,4,d,e,f,g,7 6,a,b,c,d,e,4,f,g,7 6,a,b,c,d,e,f,g,4,7
7,a,5,b,c,d,e,f,g,6 7,a,b,c,5,d,e,f,g,6 7,a,b,c,d,e,5,f,g,6 7,a,b,c,d,e,f,g,5,6
sr,xb,a,b,c,d,e,f,g,5
sr,a,b,xb,c,d,e,f,g,5
sr,a,b,c,d,xb,e,f,g,5
sr,a,b,c,d,e,f,xb,g,5
5,a,b,c,d,e,f,g,h,4
6,xb,a,b,c,d,e,f,g,7 6,a,b,xb,c,d,e,f,g,7 6,a,b,c,d,xb,e,f,g,7 6,a,b,c,d,e,f,xb,g,7
7,xb,a,b,c,d,e,f,g,6 7,a,b,xb,c,d,e,f,g,6 7,a,b,c,d,xb,e,f,g,6 7,a,b,c,d,e,f,xb,g,6
@COLORS
0 0 0 0 Empty 1 255 128 0 Wall 2 255 192 192 Ball left 3 192 192 255 right 4 128 0 0 Trigger sensor inactive 5 255 0 0 active 6 0 0 128 Toggler sensor inactive 7 0 0 255 active 8 255 0 255 Wire 9 255 255 0 Signal
10 255 192 64 Tail 11 255 0 0 Wire with ball left 12 0 0 255 right 13 192 255 192 Wire with wall 14 255 255 255 Signal with wall 15 128 128 128 Tail with wall 16 0 192 0 Unusual 17 255 192 255 Double ball