New loop rule

For discussion of other cellular automata.
Post Reply
fluffykitty
Posts: 1178
Joined: June 14th, 2014, 5:03 pm
Contact:

New loop rule

Post by fluffykitty »

I made a new loop rule. Look at this:
Inserl.rule:

Code: Select all

@RULE Inserl
0 empty
1 nonconductive metal
2 conductive metal
3 extend
4 turn
5 helper
@TABLE
n_states:6
neighborhood:Moore
symmetries:rotate4
#All
var a2={0,1,2,3,4,5}
var a4={0,1,2,3,4,5}
var a6={0,1,2,3,4,5}
var a8={0,1,2,3,4,5}
#Signals
#=X
var b0={3,4}
var b5={3,4}
#Utility variables
var c6={0,2}
var d0={2,3,4]
var d1={2,3,4}
var d2={2,3,4}
var d3={2,3,4}
var d4={2,3,4}
var d5={2,3,4}
var d6={2,3,4}
var d7={2,3,4}
var d8={2,3,4}
var e4={1,5}
var e5={1,5}
var f4={0,1}
var g4={1,2,3,4}
#-Special
#Break the walls
##Gen 1
1 ,0 ,0 ,1 ,1 ,4 ,2 ,1 ,0 , 3
##Gen 2
4 ,1 ,3 ,2 ,2 ,0 ,0 ,2 ,1 , 2
0 ,0 ,0 ,0 ,1 ,3 ,1 ,0 ,0 , 5
3 ,0 ,0 ,1 ,1 ,2 ,4 ,1 ,0 , 2
##Gen 3
5 ,0 ,0 ,0 ,1 ,2 ,1 ,0 ,0 , 2
0 ,0 ,0 ,0 ,0 ,1 ,2 ,5 ,0 , 5
#Separate Loops
##Gen 1
0 ,d1,d2,0 ,1 ,3 ,0 ,0 ,d8, 2
##Gen 2
0 ,2 ,d2,d3,d4,0 ,0 ,1 ,2 , 1
2 ,d1,1 ,1 ,1 ,d5,0 ,d7,0 , 5
##Gen 3
5 ,d1,1 ,1 ,1 ,d5,1 ,d7,0 , 2
2 ,1 ,1 ,d3,0 ,1 ,d6,5 ,1 , 5
2 ,1 ,1 ,5 ,2 ,0 ,0 ,2 ,1 , 3
##Gen 4
5 ,1 ,1 ,d3,0 ,1 ,d6,d7,1 , 1
d0,1 ,1 ,2 ,0 ,0 ,1 ,5 ,1 , 5
##Gen 5
1 ,0 ,0 ,1 ,d4,5 ,1 ,1 ,0 , 0
5 ,1 ,1 ,d3,0 ,0 ,1 ,1 ,1 , 0
d0,1 ,1 ,d3,0 ,0 ,0 ,5 ,1 , 5
##Gen 6
5 ,1 ,1 ,d3,0 ,0 ,0 ,0 ,0 , 0
1 ,0 ,0 ,1 ,d4,5 ,0 ,0 ,0 , 0
##Gen 9
d0,1 ,1 ,d3,1 ,0 ,0 ,5 ,1 , 5
##Gen 10
d0,1 ,1 ,d3,d4,1 ,0 ,5 ,1 , 1
5 ,1 ,1 ,d3,1 ,0 ,0 ,0 ,0 , 1
#Find a loop
##Gen 1
0 ,0 ,1 ,1 ,e4,0 ,5 ,3 ,0 , 5
##Gen 2
5 ,0 ,1 ,1 ,e4,0 ,5 ,d7,0 , 0
5 ,d1,5 ,0 ,0 ,0 ,0 ,1 ,d8, 1
d0,0 ,0 ,5 ,0 ,e5,1 ,d7,0 , 5
#Separate arms
##Gen 1
2 ,0 ,5 ,d3,0 ,0 ,2 ,0 ,0 , 5
2 ,0 ,2 ,0 ,1 ,d5,0 ,0 ,0 , 5
0 ,1 ,d2,d3,5 ,5 ,0 ,0 ,0 , 1
##Gen 2
5 ,0 ,5 ,d3,0 ,0 ,2 ,0 ,0 , 0
5 ,0 ,5 ,0 ,1 ,d5,0 ,0 ,0 , 0
##Gen 3
5 ,5 ,1 ,d3,0 ,0 ,0 ,0 ,0 , 0
5 ,0 ,0 ,1 ,d4,5 ,0 ,0 ,0 , 0
d0,1 ,1 ,d3,0 ,0 ,0 ,5 ,5 , 5
#Retract on a turn
##Gen 1
d0,5 ,1 ,1 ,g4,d5,d6,0 ,0 , 5
##Gen 2
5 ,0 ,0 ,1 ,d4,d5,d6,0 ,0 , 0
5 ,0 ,0 ,1 ,1 ,d5,d6,0 ,0 , 0
1 ,0 ,0 ,0 ,5 ,d5,d6,5 ,0 , 0
1 ,0 ,0 ,0 ,0 ,1 ,d6,5 ,0 , 0
d0,1 ,0 ,5 ,0 ,1 ,1 ,d7,5 , 5
d0,5 ,1 ,1 ,1 ,1 ,1 ,d7,0 , 5
##Gen 3
2 ,0 ,0 ,0 ,0 ,5 ,1 ,5 ,0 , 0
5 ,2 ,0 ,0 ,0 ,0 ,0 ,1 ,5 , 0
5 ,0 ,0 ,1 ,1 ,1 ,1 ,d7,0 , 0
1 ,5 ,2 ,5 ,0 ,0 ,0 ,1 ,d8, 0
1 ,0 ,0 ,0 ,0 ,1 ,1 ,5 ,0 , 0
1 ,1 ,0 ,0 ,0 ,0 ,0 ,1 ,5 , 0
5 ,0 ,0 ,2 ,5 ,1 ,1 ,2 ,0 , 0
#Special case
0 ,0 ,0 ,1 ,d4,d5,d6,5 ,0 , 1
2 ,0 ,1 ,d3,f4,0 ,0 ,2 ,5 ,d3
#-Normal
#Motion
##Straight
## 2   2
##021 0X1
## X   2
###Birth
2 ,2 ,a2,1 ,a4,b5,a6,0 ,a8,b5
###Death
b0,2 ,a2,1 ,a4,2 ,a6,0 ,a8, 2
##Turn
## 1   1
##221 2X1
## X   2
###Birth
2 ,1 ,a2,1 ,a4,b5,a6,2 ,a8,b5
###Death
b0,1 ,a2,1 ,a4,2 ,a6,2 ,a8, 2
##Fork
## 2   2
##221 2X1
## X   2
###Birth
2 ,2 ,a2,1 ,a4,b5,a6,2 ,a8,b5
###Death
b0,2 ,a2,1 ,a4,2 ,a6,2 ,a8, 2
##Fork Out
##02  02
##121 1X1
## X   2
###Birth
2 ,2 ,a2,1 ,a4,b5,a6,1 ,0 ,b5
###Death
b0,2 ,a2,1 ,a4,2 ,a6,1 ,0 , 2
##Normal End
## 0   0
##021 0X1
## X   2
###Birth
2 ,0 ,a2,1 ,a4,b5,a6,0 ,a8,b5
###Death
b0,0 ,a2,1 ,a4,2 ,a6,0 ,a8, 2
##Arm Turn
## 1   1
##021 0X1
## X   2
###Birth
2 ,1 ,a2,1 ,a4,b5,a6,0 ,a8,b5
###Death
b0,1 ,a2,1 ,a4,2 ,a6,0 ,a8, 2
##Special End
## 0   0
##025 0X5
## X   2
###Birth
2 ,0 ,a2,5 ,a4,b5,a6,0 ,a8,b5
###Death
b0,0 ,a2,5 ,a4,2 ,a6,0 ,a8, 2
##Special Turn
## 5   5
##221 2X1
## X   2
###Birth
2 ,5 ,a2,1 ,a4,b5,a6,2 ,a8,b5
###Death
b0,5 ,a2,1 ,a4,2 ,a6,2 ,a8, 2
#Construction
##Normal Forward
###Gen 1
###000 000
###000 020
### 31  21
0 ,0 ,0 ,0 ,1 ,3 ,c6,0 ,0 , 2
###Gen 2
###000 000
###200 210
###210 210
0 ,0 ,0 ,0 ,0 ,1 ,c6,2 ,0 , 1
##Left
###Gen 1
###000 000
###000 010
###041 021
0 ,0 ,0 ,0 ,1 ,4 ,0 ,0 ,0 , 1
###Gen 2
###000 000
###100 110
###210 210
0 ,0 ,0 ,0 ,0 ,1 ,2 ,1 ,0 , 1
##Special Forward
###Gen 1
### 0   0 
###000 020
###035 025
0 ,0 ,0 ,0 ,5 ,3 ,0 ,0 ,0 , 2
###Gen 2
###000 000
###200 250
###250 210
0 ,0 ,0 ,0 ,0 ,5 ,c6,2 ,0 , 5
5 ,0 ,0 ,0 ,0 ,1 ,2 ,2 ,2 , 1
##Convert
##000 000
##045 021
##021 021
5 ,0 ,0 ,0 ,0 ,1 ,2 ,4 ,0 , 1
@COLORS
0 0 0 0
1 255 255 255
2 255 0 255
3 255 0 0
4 0 0 255
5 0 255 0
Inserl.rle:

Code: Select all

x = 52, y = 14, rule = Inserl
38.14A$38.ABC10BA$38.AB10.DA$38.AC10.BA$18.10A10.AB10.BA$18.ABC6BA10.
AB10.CA$18.AB6.DA10.AC10.BA$.7A10.AC6.BA10.AB10.BA$.ABC3BA10.AB6.BA
10.AB10.CA$.AB3.DA10.AB6.CA10.AC10.BA$.AC3.BA10.AC6.BA10.AB10.BA$.AB
3.BA10.AB6.BA10.AB10.CA$.ABC2BCA10.ABC2BC2BCA10.AC2BC2BC2BC2BA$.7A10.
10A10.14A!
wildmyron
Posts: 1572
Joined: August 9th, 2013, 12:45 am
Location: Western Australia

Re: New loop rule

Post by wildmyron »

This looks like an extension of Byl's loops where you are still using a single sheath but taking advantage of the Moore neighbourhood to allow larger loops without the inner sheath. I think there are some interesting dynamics going on in the interaction between different loops, particularly with multiple neighbours forming a parts of what turns into a single loop, and with the way the small loop fills in the space between larger loops.

Have you thought about including any of the ideas from the Other loop rules thread in a variation of your rule? Or even other ideas extending Langton's loops, including SDSR loops; Evoloop, or Sexyloop?
The 5S project (Smallest Spaceships Supporting Specific Speeds) is now maintained by speedydelete.

Semi-active here - recovering from a severe case of LWTDS.
User avatar
simsim314
Posts: 1828
Joined: February 10th, 2014, 1:27 pm

Re: New loop rule

Post by simsim314 »

fluffykitty wrote:I made a new loop rule. Look at this:
Hey it's a nice rule, I think the first of it's kind, that starts the copy of the next loop before the full replication of the initial loop is finished.

You're welcome to look at "Other loop rules" thread to get new ideas in this area. I've lately showed a way to make any loop, into exponential container (i.e. adding 3 states one can modify any loop rule to be of exponential size of the "construction" commands, instead of the usual 1-1 approach).
fluffykitty
Posts: 1178
Joined: June 14th, 2014, 5:03 pm
Contact:

Re: New loop rule

Post by fluffykitty »

wildmyron wrote:This looks like an extension of Byl's loops
Actually it has nothing to do with Byl's loops. It is a modification of Tempesti loops.
wildmyron wrote:I think there are some interesting dynamics going on in the interaction between different loops, particularly with multiple neighbours forming a parts of what turns into a single loop,
Well if a construction arm collides with the wire of another one, it triggers a "construction done" reaction in the longer one and the newly extended construction arm seamlessly takes over.
wildmyron wrote:...and with the way the small loop fills in the space between larger loops.
That isn't really supposed to happen. The rule is not designed to handle that.
simsim314 wrote:Hey it's a nice rule, I think the first of it's kind, that starts the copy of the next loop before the full replication of the initial loop is finished.
Here the blue signal doesn't care if it's in a fully-formed loop or in a construction arm. It just "breaks the walls" whenever it turns left.
Now here's an upgraded version of the rule with right turns:
C_Inserl.rule:

Code: Select all

@RULE C_Inserl
Inserl loops will still work in this rule, but make sure to change state 5 to state 9.
00 empty
01 nonconductive metal
02 conductive metal
03 extend
04 breaker left turn
05 normal left turn
06 blocker left turn
07 breaker blocker turn #
08 right turn
09 helper 1
10 helper 2
@TABLE
n_states:11
neighborhood:Moore
symmetries:rotate4
#Overrides
1 ,0 ,0 ,0 ,0 ,1 ,2 ,5 ,0 , 1
9 ,0 ,0 ,0 ,0 ,1 ,8 ,2 ,0 , 9
#Helpers
2 ,10,0 ,1 ,1 ,3 ,0 ,0 , 0, 3
#<Inserl transitions (slightly modified)
#-Variables
#All
var a2={0,1,2,3,4,5,6,7,8,9,10}
var a4={0,1,2,3,4,5,6,7,8,9,10}
var a6={0,1,2,3,4,5,6,7,8,9,10}
var a8={0,1,2,3,4,5,6,7,8,9,10}
#Signals
#=X
var b0={3,4,5,6,7,8}
var b5={3,4,5,6,7,8}
#Utility variables
var c6={0,2}
var d0={2,3,4,5,6,7,8}
var d1={2,3,4,5,6,7,8}
var d2={2,3,4,5,6,7,8}
var d3={2,3,4,5,6,7,8}
var d4={2,3,4,5,6,7,8}
var d5={2,3,4,5,6,7,8}
var d6={2,3,4,5,6,7,8}
var d7={2,3,4,5,6,7,8}
var d8={2,3,4,5,6,7,8}
var e4={1,9}
var e5={1,9}
var f3={0,1}
var f4={0,1}
var g4={1,2,3,4,5,6,7,8}
var h5={4,5} #=Y
var i0={4,7}
var i5={4,7}
var i6={4,7}
var i7={4,7}
var j5={6,7}
#-Special
#Break the walls
##Gen 1
1 ,0 ,0 ,1 ,1 ,i5,2 ,1 ,0 , 3
##Gen 2
i0,1 ,3 ,2 ,2 ,0 ,0 ,2 ,1 , 2
0 ,0 ,0 ,0 ,1 ,3 ,1 ,0 ,0 , 9
3 ,0 ,0 ,1 ,1 ,2 ,i6,1 ,0 , 2
##Gen 3
9 ,0 ,0 ,0 ,1 ,2 ,1 ,0 ,0 , 2
0 ,0 ,0 ,0 ,0 ,1 ,2 ,9 ,0 , 9
#Separate Loops
##Gen 1
0 ,d1,d2,0 ,1 ,3 ,0 ,0 ,d8, 2
##Gen 2
0 ,2 ,d2,d3,d4,0 ,0 ,1 ,2 , 1
2 ,d1,1 ,1 ,1 ,d5,0 ,d7,0 , 9
##Gen 3
9 ,d1,1 ,1 ,1 ,d5,1 ,d7,0 , 2
2 ,1 ,1 ,d3,0 ,1 ,d6,9 ,1 , 9
2 ,1 ,1 ,9 ,2 ,0 ,0 ,2 ,1 , 3
##Gen 4
9 ,1 ,1 ,d3,0 ,1 ,d6,d7,1 , 1
d0,1 ,1 ,2 ,0 ,0 ,1 ,9 ,1 , 9
##Gen 5
1 ,0 ,0 ,1 ,d4,9 ,1 ,1 ,0 , 0
9 ,1 ,1 ,d3,0 ,0 ,1 ,1 ,1 , 0
d0,1 ,1 ,d3,0 ,0 ,0 ,9 ,1 , 9
##Gen 6
9 ,1 ,1 ,d3,0 ,0 ,0 ,0 ,0 , 0
1 ,0 ,0 ,1 ,d4,9 ,0 ,0 ,0 , 0
##Gen 9
d0,1 ,1 ,d3,1 ,0 ,0 ,9 ,1 , 9
##Gen 10
d0,1 ,1 ,d3,d4,1 ,0 ,9 ,1 , 1
9 ,1 ,1 ,d3,1 ,0 ,0 ,0 ,0 , 1
#Find a loop
##Gen 1
0 ,0 ,1 ,1 ,e4,0 ,9 ,3 ,0 , 9
##Gen 2
9 ,0 ,1 ,1 ,e4,0 ,9 ,d7,0 , 0
9 ,d1,9 ,0 ,0 ,0 ,0 ,1 ,d8, 1
d0,0 ,0 ,9 ,0 ,e5,1 ,d7,0 , 9
#Separate arms
##Gen 1
2 ,0 ,9 ,d3,0 ,0 ,2 ,0 ,0 , 9
2 ,0 ,2 ,0 ,1 ,d5,0 ,0 ,0 , 9
0 ,1 ,d2,d3,9 ,9 ,0 ,0 ,0 , 1
##Gen 2
9 ,0 ,9 ,d3,0 ,0 ,2 ,0 ,0 , 0
9 ,0 ,9 ,0 ,1 ,d5,0 ,0 ,0 , 0
##Gen 3
9 ,9 ,1 ,d3,0 ,0 ,0 ,0 ,0 , 0
9 ,0 ,0 ,1 ,d4,9 ,0 ,0 ,0 , 0
d0,1 ,1 ,d3,0 ,0 ,0 ,9 ,9 , 9
#Retract on a turn
##Gen 1
d0,9 ,1 ,1 ,g4,d5,d6,0 ,0 , 9
##Gen 2
9 ,0 ,0 ,1 ,d4,d5,d6,0 ,0 , 0
9 ,0 ,0 ,1 ,1 ,d5,d6,0 ,0 , 0
1 ,0 ,0 ,0 ,9 ,d5,d6,5 ,0 , 0
1 ,0 ,0 ,0 ,0 ,1 ,d6,5 ,0 , 0
d0,1 ,0 ,9 ,0 ,1 ,1 ,d7,9 , 9
d0,9 ,1 ,1 ,1 ,1 ,1 ,d7,0 , 9
##Gen 3
2 ,0 ,0 ,0 ,0 ,9 ,1 ,9 ,0 , 0
9 ,2 ,0 ,0 ,0 ,0 ,0 ,1 ,8 , 0
9 ,0 ,0 ,1 ,1 ,1 ,1 ,d7,0 , 0
1 ,9 ,2 ,9 ,0 ,0 ,0 ,1 ,d8, 0
1 ,0 ,0 ,0 ,0 ,1 ,1 ,9 ,0 , 0
1 ,1 ,0 ,0 ,0 ,0 ,0 ,1 ,9 , 0
9 ,0 ,0 ,2 ,9 ,1 ,1 ,2 ,0 , 0
#Special case
0 ,0 ,0 ,1 ,d4,d5,d6,9 ,0 , 1
2 ,0 ,1 ,d3,f4,0 ,0 ,2 ,9 ,d3
#-Normal
#Motion
##Straight
## 2   2
##021 0X1
## X   2
###Birth
2 ,2 ,a2,1 ,a4,b5,a6,0 ,a8,b5
###Death
b0,2 ,a2,1 ,a4,2 ,a6,0 ,a8, 2
##Turn
## 1   1
##221 2X1
## X   2
###Birth
2 ,1 ,a2,1 ,a4,b5,a6,2 ,a8,b5
###Death
b0,1 ,a2,1 ,a4,2 ,a6,2 ,a8, 2
##Fork
## 2   2
##221 2X1
## X   2
###Birth
2 ,2 ,a2,1 ,a4,b5,a6,2 ,a8,b5
###Death
b0,2 ,a2,1 ,a4,2 ,a6,2 ,a8, 2
##Fork Out
##02  02
##121 1X1
## X   2
###Birth
2 ,2 ,a2,1 ,a4,b5,a6,1 ,0 ,b5
###Death
b0,2 ,a2,1 ,a4,2 ,a6,1 ,0 , 2
##Normal End
## 0   0
##021 0X1
## X   2
###Birth
2 ,0 ,a2,1 ,a4,b5,a6,0 ,a8,b5
###Death
b0,0 ,a2,1 ,a4,2 ,a6,0 ,a8, 2
##Arm Turn
## 1   1
##021 0X1
## X   2
###Birth
2 ,1 ,a2,1 ,a4,b5,a6,0 ,a8,b5
###Death
b0,1 ,a2,1 ,a4,2 ,a6,0 ,a8, 2
##Special End
## 0   0
##029 0X9
## X   2
###Birth
2 ,0 ,a2,9 ,a4,b5,a6,0 ,a8,b5
###Death
b0,0 ,a2,9 ,a4,2 ,a6,0 ,a8, 2
#Construction
##Normal Forward
###Gen 1
###000 000
###000 020
### 31  21
0 ,0 ,0 ,0 ,1 ,3 ,c6,0 ,0 , 2
###Gen 2
###000 000
###200 210
###21  21 
0 ,0 ,0 ,0 ,f4,1 ,c6,2 ,0 , 1
##Left
###Gen 1
###000 000
###000 010
###0Y1 021
0 ,0 ,0 ,0 ,1 ,h5,0 ,0 ,0 , 1
###Gen 2
###000 000
###100 110
###210 210
0 ,0 ,0 ,0 ,0 ,1 ,2 ,1 ,0 , 1
##Special Forward
###Gen 1
### 0   0 
###000 020
###039 029
0 ,0 ,0 ,0 ,9 ,3 ,0 ,0 ,0 , 2
###Gen 2
###000 000
###200 290
###290 210
0 ,0 ,0 ,0 ,0 ,9 ,c6,2 ,0 , 9
9 ,0 ,0 ,0 ,0 ,1 ,2 ,2 ,2 , 1
##Convert
##000 000
##049 021
##021 021
9 ,0 ,0 ,0 ,0 ,1 ,2 ,4 ,0 , 1
#<C-Inserl transitions
#-Variables
#-Special
#-Normal
#Motion
##Right Turn
## 0   0
##022 0X2
## X   2
###Birth
2 ,0 ,a2,2 ,a4,b5,a6,0 ,a8,b5
###Death
b0,0 ,a2,2 ,a4,2 ,a6,0 ,a8, 2
#Construction
##Special Turn
###Gen 1
###000 000
###000 0A0
###0Z1 020
0 ,0 ,0 ,0 ,1 ,j5,0 ,0 ,0 ,10
###Gen 2
###000 010
###0A0 0A0
###020 021
0 ,0 ,0 ,0 ,0 ,1 ,2 ,2 ,10, 1
0 ,10,0 ,0 ,0 ,0 ,0 ,0 ,0 , 1
###Gen 3
###010 010
###0A0 011
###021 021
10,1 ,0 ,0 ,1 ,2 ,0 ,0 ,0 , 1
0 ,0 ,0 ,0 ,0 ,1 ,2 ,10,1 , 1
##Right Turn
###Gen 1
###000 000
###000 020
###810 210
0 ,0 ,0 ,0 ,0 ,1 ,8 ,0, 0 , 2
###Gen 2
###000 000
###020 220
###210 210
0 ,0 ,0 ,2 ,1 ,2 ,0 ,0 ,0 , 2
##Special Convert
###Gen 1
###000 000
###790 2A0
###210 210
9 ,0 ,0 ,0 ,0 ,1 ,2 ,7 ,0 ,10
###Gen 2
###000 000
###2A0 211
###210 210
10,0 ,0 ,0 ,0 ,1 ,2 ,2 ,0 , 1
0 ,0 ,0 ,0 ,0 ,0 ,1 ,10,0 , 1
@COLORS
0  0 0 0
1  255 255 255
2  255 0 255
3  255 0 0
4  0 0 255
5  127 0 255
6  0 255 255
7  0 127 255
8  255 255 0
9  0 255 0
10 255 127 0
You can also use Inserl.rle in this rule.
C_Inserl.rle:

Code: Select all

x = 124, y = 43, rule = C_Inserl
2$3.10A$3.ABC6BA$3.AB6.DA$3.AC6.BA$3.AB6.BA$3.AB6.CA$3.AC6.BA86.A$3.A
B6.BA82.6A$3.ABC2BC2BCA80.A.A4BA$3.10A82.AB2.BA$91.5AB2.BA$46.A43.2A
5B2.BA$38.10A43.AB6.BA$38.ABC6BA43.AB6.BA6.A$38.AB6.BA43.A5B2.BA2.6A$
38.AC6.BA43.5AB2.BA.2A4BA$38.AB6.BA44.A2.AB2.BA2.AB2.BA.A$33.6AB6.B6A
42.AB2.BA2.AB2.BA$32.2A2BC2BC6.6BA31.12AB2.B4AB2.B4A$33.AH16.GA30.2A
12B2.6B2.4BA$33.AB16.BA31.AB24.BA$33.AB16.BA31.AB24.BA$33.AC16.CA31.A
4B2.6B2.12B2A$33.AB16.BA31.4AB2.B4AB2.B12A$33.AB16.BA34.AB2.BA2.AB2.B
A$33.AC2BC2B6.2BC2BC2A31.A.AB2.BA2.AB2.BA2.A$33.6AC6.C6A34.A4B2A.AB2.
B5A$38.AB6.BA39.6A2.AB2.5BA$38.AB6.BA40.A6.AB6.BA$38.AE6.CA47.AB6.BA$
38.A2BC2BC2BA47.AB2.5B2A$38.10A47.AB2.B5A$39.A55.AB2.BA$95.A2BGBA.A$
95.6A$96.A!
Here's a challenge: program the complex loop.
Also, do you think it should go on the Rule Table Repository?
Last edited by fluffykitty on June 16th, 2014, 7:15 pm, edited 2 times in total.
fluffykitty
Posts: 1178
Joined: June 14th, 2014, 5:03 pm
Contact:

Re: New loop rule

Post by fluffykitty »

I'm now trying to make a SDSR-Loop version of Inserl, but it just dies. Here's the current version:

Code: Select all

@RULE S_Inserl
0 empty
1 nonconductive metal
2 conductive metal
3 extend
4 turn
5 helper
6 eater
@TABLE
n_states:7
neighborhood:Moore
symmetries:rotate4
#All
var a0={0,1,2,3,4,5,6}
var a1={0,1,2,3,4,5,6}
var a2={0,1,2,3,4,5,6}
var a3={0,1,2,3,4,5,6}
var a4={0,1,2,3,4,5,6}
var a5={0,1,2,3,4,5,6}
var a6={0,1,2,3,4,5,6}
var a7={0,1,2,3,4,5,6}
var a8={0,1,2,3,4,5,6}
#Signals
#=X
var b0={3,4}
var b5={3,4}
#Utility variables
var c6={0,2}
var d0={2,3,4]
var d1={2,3,4}
var d2={2,3,4}
var d3={2,3,4}
var d4={2,3,4}
var d5={2,3,4}
var d6={2,3,4}
var d7={2,3,4}
var d8={2,3,4}
var e4={1,5}
var e5={1,5}
var f4={0,1}
var g4={1,2,3,4}
var h0={1,2,3,4,5}
#-Special
#Break the walls
##Gen 1
1 ,0 ,0 ,1 ,1 ,4 ,2 ,1 ,0 , 3
##Gen 2
4 ,1 ,3 ,2 ,2 ,0 ,0 ,2 ,1 , 2
0 ,0 ,0 ,0 ,1 ,3 ,1 ,0 ,0 , 5
3 ,0 ,0 ,1 ,1 ,2 ,4 ,1 ,0 , 2
##Gen 3
5 ,0 ,0 ,0 ,1 ,2 ,1 ,0 ,0 , 2
0 ,0 ,0 ,0 ,0 ,1 ,2 ,5 ,0 , 5
#Separate Loops
##Gen 1
0 ,d1,d2,0 ,1 ,3 ,0 ,0 ,d8, 2
##Gen 2
0 ,2 ,d2,d3,d4,0 ,0 ,1 ,2 , 1
2 ,d1,1 ,1 ,1 ,d5,0 ,d7,0 , 5
##Gen 3
5 ,d1,1 ,1 ,1 ,d5,1 ,d7,0 , 2
2 ,1 ,1 ,d3,0 ,1 ,d6,5 ,1 , 5
2 ,1 ,1 ,5 ,2 ,0 ,0 ,2 ,1 , 3
##Gen 4
5 ,1 ,1 ,d3,0 ,1 ,d6,d7,1 , 1
d0,1 ,1 ,2 ,0 ,0 ,1 ,5 ,1 , 5
##Gen 5
1 ,0 ,0 ,1 ,d4,5 ,1 ,1 ,0 , 0
5 ,1 ,1 ,d3,0 ,0 ,1 ,1 ,1 , 0
d0,1 ,1 ,d3,0 ,0 ,0 ,5 ,1 , 5
##Gen 6
5 ,1 ,1 ,d3,0 ,0 ,0 ,0 ,0 , 0
1 ,0 ,0 ,1 ,d4,5 ,0 ,0 ,0 , 0
##Gen 9
d0,1 ,1 ,d3,1 ,0 ,0 ,5 ,1 , 5
##Gen 10
d0,1 ,1 ,d3,d4,1 ,0 ,5 ,1 , 1
5 ,1 ,1 ,d3,1 ,0 ,0 ,0 ,0 , 1
#Find a loop
##Gen 1
0 ,0 ,1 ,1 ,e4,0 ,5 ,3 ,0 , 5
##Gen 2
5 ,0 ,1 ,1 ,e4,0 ,5 ,d7,0 , 0
5 ,d1,5 ,0 ,0 ,0 ,0 ,1 ,d8, 1
d0,0 ,0 ,5 ,0 ,e5,1 ,d7,0 , 6
#Separate arms
##Gen 1
2 ,0 ,5 ,d3,0 ,0 ,2 ,0 ,0 , 5
2 ,0 ,2 ,0 ,1 ,d5,0 ,0 ,0 , 5
0 ,1 ,d2,d3,5 ,5 ,0 ,0 ,0 , 1
##Gen 2
5 ,0 ,5 ,d3,0 ,0 ,2 ,0 ,0 , 0
5 ,0 ,5 ,0 ,1 ,d5,0 ,0 ,0 , 0
##Gen 3
5 ,5 ,1 ,d3,0 ,0 ,0 ,0 ,0 , 0
5 ,0 ,0 ,1 ,d4,5 ,0 ,0 ,0 , 0
d0,1 ,1 ,d3,0 ,0 ,0 ,5 ,5 , 5
#Retract on a turn
##Gen 1
d0,5 ,1 ,1 ,g4,d5,d6,0 ,0 , 5
##Gen 2
5 ,0 ,0 ,1 ,d4,d5,d6,0 ,0 , 0
5 ,0 ,0 ,1 ,1 ,d5,d6,0 ,0 , 0
1 ,0 ,0 ,0 ,5 ,d5,d6,5 ,0 , 0
1 ,0 ,0 ,0 ,0 ,1 ,d6,5 ,0 , 0
d0,1 ,0 ,5 ,0 ,1 ,1 ,d7,5 , 5
d0,5 ,1 ,1 ,1 ,1 ,1 ,d7,0 , 5
##Gen 3
2 ,0 ,0 ,0 ,0 ,5 ,1 ,5 ,0 , 0
5 ,2 ,0 ,0 ,0 ,0 ,0 ,1 ,5 , 0
5 ,0 ,0 ,1 ,1 ,1 ,1 ,d7,0 , 0
1 ,5 ,2 ,5 ,0 ,0 ,0 ,1 ,d8, 0
1 ,0 ,0 ,0 ,0 ,1 ,1 ,5 ,0 , 0
1 ,1 ,0 ,0 ,0 ,0 ,0 ,1 ,5 , 0
5 ,0 ,0 ,2 ,5 ,1 ,1 ,2 ,0 , 0
#Special case
0 ,0 ,0 ,1 ,d4,d5,d6,5 ,0 , 1
2 ,0 ,1 ,d3,f4,0 ,0 ,2 ,5 ,d3
#-Normal
#Motion
##Straight
## 2   2
##021 0X1
## X   2
###Birth
2 ,2 ,a2,1 ,a4,b5,a6,0 ,a8,b5
###Death
b0,2 ,a2,1 ,a4,2 ,a6,0 ,a8, 2
##Turn
## 1   1
##221 2X1
## X   2
###Birth
2 ,1 ,a2,1 ,a4,b5,a6,2 ,a8,b5
###Death
b0,1 ,a2,1 ,a4,2 ,a6,2 ,a8, 2
##Fork
## 2   2
##221 2X1
## X   2
###Birth
2 ,2 ,a2,1 ,a4,b5,a6,2 ,a8,b5
###Death
b0,2 ,a2,1 ,a4,2 ,a6,2 ,a8, 2
##Fork Out
##02  02
##121 1X1
## X   2
###Birth
2 ,2 ,a2,1 ,a4,b5,a6,1 ,0 ,b5
###Death
b0,2 ,a2,1 ,a4,2 ,a6,1 ,0 , 2
##Normal End
## 0   0
##021 0X1
## X   2
###Birth
2 ,0 ,a2,1 ,a4,b5,a6,0 ,a8,b5
###Death
b0,0 ,a2,1 ,a4,2 ,a6,0 ,a8, 2
##Arm Turn
## 1   1
##021 0X1
## X   2
###Birth
2 ,1 ,a2,1 ,a4,b5,a6,0 ,a8,b5
###Death
b0,1 ,a2,1 ,a4,2 ,a6,0 ,a8, 2
##Special End
## 0   0
##025 0X5
## X   2
###Birth
2 ,0 ,a2,5 ,a4,b5,a6,0 ,a8,b5
###Death
b0,0 ,a2,5 ,a4,2 ,a6,0 ,a8, 2
##Special Turn
## 5   5
##221 2X1
## X   2
###Birth
2 ,5 ,a2,1 ,a4,b5,a6,2 ,a8,b5
###Death
b0,5 ,a2,1 ,a4,2 ,a6,2 ,a8, 2
#Construction
##Normal Forward
###Gen 1
###000 000
###000 020
### 31  21
0 ,0 ,0 ,0 ,1 ,3 ,c6,0 ,0 , 2
###Gen 2
###000 000
###200 210
###210 210
0 ,0 ,0 ,0 ,0 ,1 ,c6,2 ,0 , 1
##Left
###Gen 1
###000 000
###000 010
###041 021
0 ,0 ,0 ,0 ,1 ,4 ,0 ,0 ,0 , 1
###Gen 2
###000 000
###100 110
###210 210
0 ,0 ,0 ,0 ,0 ,1 ,2 ,1 ,0 , 1
##Special Forward
###Gen 1
### 0   0 
###000 020
###035 025
0 ,0 ,0 ,0 ,5 ,3 ,0 ,0 ,0 , 2
###Gen 2
###000 000
###200 250
###250 210
0 ,0 ,0 ,0 ,0 ,5 ,c6,2 ,0 , 5
5 ,0 ,0 ,0 ,0 ,1 ,2 ,2 ,2 , 1
##Convert
##000 000
##045 021
##021 021
5 ,0 ,0 ,0 ,0 ,1 ,2 ,4 ,0 , 1
#Death
h0,6 ,a2,a3,a4,a5,a6,a7,a8, 6
6 ,a1,a2,a3,a4,a5,a6,a7,a8, 0
@COLORS
0 0 0 0
1 255 255 255
2 255 0 255
3 255 0 0
4 0 0 255
5 0 255 0
Please try to fix it!
Post Reply