Code: Select all
#C Esolang-like rule
x = 0, y = 0, rule = HalfBytePhotonFactory-beta
.R$13.V$7.A5$R$7.R!
@RULE HalfBytePhotonFactory-beta
Half byte wave rule with power-up obstacles.
Each non-obstacle cell has a half-byte memory.
Photons do not directly block each other.
If a cell neighbors multiple obstacles, only one is taken into account (usually the top one).
@TABLE
n_states:24
neighborhood:vonNeumann
symmetries:none
var y1={1,3,5,7,9,11,13,15,17}
var n1={0,2,4,6,8,10,12,14,16,18,19,20,21,22,23}
var y2={2,3,6,7,10,11,14,15,17}
var n2={0,1,4,5,8,9,12,13,16,18,19,20,21,22,23}
var y4={4,5,6,7,12,13,14,15,17}
var n4={0,1,2,3,8,9,10,11,16,18,19,20,21,22,23}
var y8={8,9,10,11,12,13,14,15,17}
var n8={0,1,2,3,4,5,6,7,16,18,19,20,21,22,23}
var p={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}
var y1a=y1
var n1a=n1
var y1b=y1
var n1b=n1
var y1c=y1
var n1c=n1
var y1d=y1
var n1d=n1
var y2a=y2
var n2a=n2
var y2b=y2
var n2b=n2
var y2c=y2
var n2c=n2
var y2d=y2
var n2d=n2
var y4a=y4
var n4a=n4
var y4b=y4
var n4b=n4
var y4c=y4
var n4c=n4
var y4d=y4
var n4d=n4
var y8a=y8
var n8a=n8
var y8b=y8
var n8b=n8
var y8c=y8
var n8c=n8
var y8d=y8
var n8d=n8
# Transitions involving obstacles (privilege)
# ×2
p,18,n2b,n4c,n8d,0
p,n1a,18,n4c,n8d,0
p,n1a,n2b,18,n8d,0
p,n1a,n2b,n4c,18,0
p,18,n2b,n4c,n8d,2
p,y1a,18,n4c,n8d,2
p,y1a,n2b,18,n8d,2
p,y1a,n2b,n4c,18,2
p,18,y2b,n4c,n8d,4
p,n1a,18,n4c,n8d,4
p,n1a,y2b,18,n8d,4
p,n1a,y2b,n4c,18,4
p,18,y2b,n4c,n8d,6
p,y1a,18,n4c,n8d,6
p,y1a,y2b,18,n8d,6
p,y1a,y2b,n4c,18,6
p,18,n2b,y4c,n8d,8
p,n1a,18,y4c,n8d,8
p,n1a,n2b,18,n8d,8
p,n1a,n2b,y4c,18,8
p,18,n2b,y4c,n8d,10
p,y1a,18,y4c,n8d,10
p,y1a,n2b,18,n8d,10
p,y1a,n2b,y4c,18,10
p,18,y2b,y4c,n8d,12
p,n1a,18,y4c,n8d,12
p,n1a,y2b,18,n8d,12
p,n1a,y2b,y4c,18,12
p,18,y2b,y4c,n8d,14
p,y1a,18,y4c,n8d,14
p,y1a,y2b,18,n8d,14
p,y1a,y2b,y4c,18,14
p,18,n2b,n4c,y8d,0
p,n1a,18,n4c,y8d,0
p,n1a,n2b,18,y8d,0
p,n1a,n2b,n4c,18,0
p,18,n2b,n4c,y8d,2
p,y1a,18,n4c,y8d,2
p,y1a,n2b,18,y8d,2
p,y1a,n2b,n4c,18,2
p,18,y2b,n4c,y8d,4
p,n1a,18,n4c,y8d,4
p,n1a,y2b,18,y8d,4
p,n1a,y2b,n4c,18,4
p,18,y2b,n4c,y8d,6
p,y1a,18,n4c,y8d,6
p,y1a,y2b,18,y8d,6
p,y1a,y2b,n4c,18,6
p,18,n2b,y4c,y8d,8
p,n1a,18,y4c,y8d,8
p,n1a,n2b,18,y8d,8
p,n1a,n2b,y4c,18,8
p,18,n2b,y4c,y8d,10
p,y1a,18,y4c,y8d,10
p,y1a,n2b,18,y8d,10
p,y1a,n2b,y4c,18,10
p,18,y2b,y4c,y8d,12
p,n1a,18,y4c,y8d,12
p,n1a,y2b,18,y8d,12
p,n1a,y2b,y4c,18,12
p,18,y2b,y4c,y8d,14
p,y1a,18,y4c,y8d,14
p,y1a,y2b,18,y8d,14
p,y1a,y2b,y4c,18,14
# ÷2
p,20,n2b,n4c,n8d,0
p,n1a,20,n4c,n8d,0
p,n1a,n2b,20,n8d,0
p,n1a,n2b,n4c,20,0
p,20,n2b,n4c,n8d,0
p,y1a,20,n4c,n8d,0
p,y1a,n2b,20,n8d,0
p,y1a,n2b,n4c,20,0
p,20,y2b,n4c,n8d,1
p,n1a,20,n4c,n8d,1
p,n1a,y2b,20,n8d,1
p,n1a,y2b,n4c,20,1
p,20,y2b,n4c,n8d,1
p,y1a,20,n4c,n8d,1
p,y1a,y2b,20,n8d,1
p,y1a,y2b,n4c,20,1
p,20,n2b,y4c,n8d,2
p,n1a,20,y4c,n8d,2
p,n1a,n2b,20,n8d,2
p,n1a,n2b,y4c,20,2
p,20,n2b,y4c,n8d,2
p,y1a,20,y4c,n8d,2
p,y1a,n2b,20,n8d,2
p,y1a,n2b,y4c,20,2
p,20,y2b,y4c,n8d,3
p,n1a,20,y4c,n8d,3
p,n1a,y2b,20,n8d,3
p,n1a,y2b,y4c,20,3
p,20,y2b,y4c,n8d,3
p,y1a,20,y4c,n8d,3
p,y1a,y2b,20,n8d,3
p,y1a,y2b,y4c,20,3
p,20,n2b,n4c,y8d,4
p,n1a,20,n4c,y8d,4
p,n1a,n2b,20,y8d,4
p,n1a,n2b,n4c,20,4
p,20,n2b,n4c,y8d,4
p,y1a,20,n4c,y8d,4
p,y1a,n2b,20,y8d,4
p,y1a,n2b,n4c,20,4
p,20,y2b,n4c,y8d,5
p,n1a,20,n4c,y8d,5
p,n1a,y2b,20,y8d,5
p,n1a,y2b,n4c,20,5
p,20,y2b,n4c,y8d,5
p,y1a,20,n4c,y8d,5
p,y1a,y2b,20,y8d,5
p,y1a,y2b,n4c,20,5
p,20,n2b,y4c,y8d,6
p,n1a,20,y4c,y8d,6
p,n1a,n2b,20,y8d,6
p,n1a,n2b,y4c,20,6
p,20,n2b,y4c,y8d,6
p,y1a,20,y4c,y8d,6
p,y1a,n2b,20,y8d,6
p,y1a,n2b,y4c,20,6
p,20,y2b,y4c,y8d,7
p,n1a,20,y4c,y8d,7
p,n1a,y2b,20,y8d,7
p,n1a,y2b,y4c,20,7
p,20,y2b,y4c,y8d,7
p,y1a,20,y4c,y8d,7
p,y1a,y2b,20,y8d,7
p,y1a,y2b,y4c,20,7
# Reverse the bits in the half-byte
p,22,n2b,n4c,n8d,0
p,n1a,22,n4c,n8d,0
p,n1a,n2b,22,n8d,0
p,n1a,n2b,n4c,22,0
p,22,n2b,n4c,n8d,8
p,y1a,22,n4c,n8d,8
p,y1a,n2b,22,n8d,8
p,y1a,n2b,n4c,22,8
p,22,y2b,n4c,n8d,4
p,n1a,22,n4c,n8d,4
p,n1a,y2b,22,n8d,4
p,n1a,y2b,n4c,22,4
p,22,y2b,n4c,n8d,12
p,y1a,22,n4c,n8d,12
p,y1a,y2b,22,n8d,12
p,y1a,y2b,n4c,22,12
p,22,n2b,y4c,n8d,2
p,n1a,22,y4c,n8d,2
p,n1a,n2b,22,n8d,2
p,n1a,n2b,y4c,22,2
p,22,n2b,y4c,n8d,10
p,y1a,22,y4c,n8d,10
p,y1a,n2b,22,n8d,10
p,y1a,n2b,y4c,22,10
p,22,y2b,y4c,n8d,6
p,n1a,22,y4c,n8d,6
p,n1a,y2b,22,n8d,6
p,n1a,y2b,y4c,22,6
p,22,y2b,y4c,n8d,14
p,y1a,22,y4c,n8d,14
p,y1a,y2b,22,n8d,14
p,y1a,y2b,y4c,22,14
p,22,n2b,n4c,y8d,1
p,n1a,22,n4c,y8d,1
p,n1a,n2b,22,y8d,1
p,n1a,n2b,n4c,22,1
p,22,n2b,n4c,y8d,9
p,y1a,22,n4c,y8d,9
p,y1a,n2b,22,y8d,9
p,y1a,n2b,n4c,22,9
p,22,y2b,n4c,y8d,5
p,n1a,22,n4c,y8d,5
p,n1a,y2b,22,y8d,5
p,n1a,y2b,n4c,22,5
p,22,y2b,n4c,y8d,13
p,y1a,22,n4c,y8d,13
p,y1a,y2b,22,y8d,13
p,y1a,y2b,n4c,22,13
p,22,n2b,y4c,y8d,3
p,n1a,22,y4c,y8d,3
p,n1a,n2b,22,y8d,3
p,n1a,n2b,y4c,22,3
p,22,n2b,y4c,y8d,11
p,y1a,22,y4c,y8d,11
p,y1a,n2b,22,y8d,11
p,y1a,n2b,y4c,22,11
p,22,y2b,y4c,y8d,7
p,n1a,22,y4c,y8d,7
p,n1a,y2b,22,y8d,7
p,n1a,y2b,y4c,22,7
p,22,y2b,y4c,y8d,15
p,y1a,22,y4c,y8d,15
p,y1a,y2b,22,y8d,15
p,y1a,y2b,y4c,22,15
# +1
p,19,n2b,n4c,n8d,1
p,n1a,19,n4c,n8d,1
p,n1a,n2b,19,n8d,1
p,n1a,n2b,n4c,19,1
p,19,n2b,n4c,n8d,2
p,y1a,19,n4c,n8d,2
p,y1a,n2b,19,n8d,2
p,y1a,n2b,n4c,19,2
p,19,y2b,n4c,n8d,3
p,n1a,19,n4c,n8d,3
p,n1a,y2b,19,n8d,3
p,n1a,y2b,n4c,19,3
p,19,y2b,n4c,n8d,4
p,y1a,19,n4c,n8d,4
p,y1a,y2b,19,n8d,4
p,y1a,y2b,n4c,19,4
p,19,n2b,y4c,n8d,5
p,n1a,19,y4c,n8d,5
p,n1a,n2b,19,n8d,5
p,n1a,n2b,y4c,19,5
p,19,n2b,y4c,n8d,6
p,y1a,19,y4c,n8d,6
p,y1a,n2b,19,n8d,6
p,y1a,n2b,y4c,19,6
p,19,y2b,y4c,n8d,7
p,n1a,19,y4c,n8d,7
p,n1a,y2b,19,n8d,7
p,n1a,y2b,y4c,19,7
p,19,y2b,y4c,n8d,8
p,y1a,19,y4c,n8d,8
p,y1a,y2b,19,n8d,8
p,y1a,y2b,y4c,19,8
p,19,n2b,n4c,y8d,9
p,n1a,19,n4c,y8d,9
p,n1a,n2b,19,y8d,9
p,n1a,n2b,n4c,19,9
p,19,n2b,n4c,y8d,10
p,y1a,19,n4c,y8d,10
p,y1a,n2b,19,y8d,10
p,y1a,n2b,n4c,19,10
p,19,y2b,n4c,y8d,11
p,n1a,19,n4c,y8d,11
p,n1a,y2b,19,y8d,11
p,n1a,y2b,n4c,19,11
p,19,y2b,n4c,y8d,12
p,y1a,19,n4c,y8d,12
p,y1a,y2b,19,y8d,12
p,y1a,y2b,n4c,19,12
p,19,n2b,y4c,y8d,13
p,n1a,19,y4c,y8d,13
p,n1a,n2b,19,y8d,13
p,n1a,n2b,y4c,19,13
p,19,n2b,y4c,y8d,14
p,y1a,19,y4c,y8d,14
p,y1a,n2b,19,y8d,14
p,y1a,n2b,y4c,19,14
p,19,y2b,y4c,y8d,15
p,n1a,19,y4c,y8d,15
p,n1a,y2b,19,y8d,15
p,n1a,y2b,y4c,19,15
p,19,y2b,y4c,y8d,0
p,y1a,19,y4c,y8d,0
p,y1a,y2b,19,y8d,0
p,y1a,y2b,y4c,19,0
# -1
p,21,n2b,n4c,n8d,15
p,n1a,21,n4c,n8d,15
p,n1a,n2b,21,n8d,15
p,n1a,n2b,n4c,21,15
p,21,n2b,n4c,n8d,0
p,y1a,21,n4c,n8d,0
p,y1a,n2b,21,n8d,0
p,y1a,n2b,n4c,21,0
p,21,y2b,n4c,n8d,1
p,n1a,21,n4c,n8d,1
p,n1a,y2b,21,n8d,1
p,n1a,y2b,n4c,21,1
p,21,y2b,n4c,n8d,2
p,y1a,21,n4c,n8d,2
p,y1a,y2b,21,n8d,2
p,y1a,y2b,n4c,21,2
p,21,n2b,y4c,n8d,3
p,n1a,21,y4c,n8d,3
p,n1a,n2b,21,n8d,3
p,n1a,n2b,y4c,21,3
p,21,n2b,y4c,n8d,4
p,y1a,21,y4c,n8d,4
p,y1a,n2b,21,n8d,4
p,y1a,n2b,y4c,21,4
p,21,y2b,y4c,n8d,5
p,n1a,21,y4c,n8d,5
p,n1a,y2b,21,n8d,5
p,n1a,y2b,y4c,21,5
p,21,y2b,y4c,n8d,6
p,y1a,21,y4c,n8d,6
p,y1a,y2b,21,n8d,6
p,y1a,y2b,y4c,21,6
p,21,n2b,n4c,y8d,7
p,n1a,21,n4c,y8d,7
p,n1a,n2b,21,y8d,7
p,n1a,n2b,n4c,21,7
p,21,n2b,n4c,y8d,8
p,y1a,21,n4c,y8d,8
p,y1a,n2b,21,y8d,8
p,y1a,n2b,n4c,21,8
p,21,y2b,n4c,y8d,9
p,n1a,21,n4c,y8d,9
p,n1a,y2b,21,y8d,9
p,n1a,y2b,n4c,21,9
p,21,y2b,n4c,y8d,10
p,y1a,21,n4c,y8d,10
p,y1a,y2b,21,y8d,10
p,y1a,y2b,n4c,21,10
p,21,n2b,y4c,y8d,11
p,n1a,21,y4c,y8d,11
p,n1a,n2b,21,y8d,11
p,n1a,n2b,y4c,21,11
p,21,n2b,y4c,y8d,12
p,y1a,21,y4c,y8d,12
p,y1a,n2b,21,y8d,12
p,y1a,n2b,y4c,21,12
p,21,y2b,y4c,y8d,13
p,n1a,21,y4c,y8d,13
p,n1a,y2b,21,y8d,13
p,n1a,y2b,y4c,21,13
p,21,y2b,y4c,y8d,14
p,y1a,21,y4c,y8d,14
p,y1a,y2b,21,y8d,14
p,y1a,y2b,y4c,21,14
# Not gate (the most explosive, placed last to tame the rule)
p,23,n2b,n4c,n8d,15
p,n1a,23,n4c,n8d,15
p,n1a,n2b,23,n8d,15
p,n1a,n2b,n4c,23,15
p,23,n2b,n4c,n8d,14
p,y1a,23,n4c,n8d,14
p,y1a,n2b,23,n8d,14
p,y1a,n2b,n4c,23,14
p,23,y2b,n4c,n8d,13
p,n1a,23,n4c,n8d,13
p,n1a,y2b,23,n8d,13
p,n1a,y2b,n4c,23,13
p,23,y2b,n4c,n8d,12
p,y1a,23,n4c,n8d,12
p,y1a,y2b,23,n8d,12
p,y1a,y2b,n4c,23,12
p,23,n2b,y4c,n8d,11
p,n1a,23,y4c,n8d,11
p,n1a,n2b,23,n8d,11
p,n1a,n2b,y4c,23,11
p,23,n2b,y4c,n8d,10
p,y1a,23,y4c,n8d,10
p,y1a,n2b,23,n8d,10
p,y1a,n2b,y4c,23,10
p,23,y2b,y4c,n8d,9
p,n1a,23,y4c,n8d,9
p,n1a,y2b,23,n8d,9
p,n1a,y2b,y4c,23,9
p,23,y2b,y4c,n8d,8
p,y1a,23,y4c,n8d,8
p,y1a,y2b,23,n8d,8
p,y1a,y2b,y4c,23,8
p,23,n2b,n4c,y8d,7
p,n1a,23,n4c,y8d,7
p,n1a,n2b,23,y8d,7
p,n1a,n2b,n4c,23,7
p,23,n2b,n4c,y8d,6
p,y1a,23,n4c,y8d,6
p,y1a,n2b,23,y8d,6
p,y1a,n2b,n4c,23,6
p,23,y2b,n4c,y8d,5
p,n1a,23,n4c,y8d,5
p,n1a,y2b,23,y8d,5
p,n1a,y2b,n4c,23,5
p,23,y2b,n4c,y8d,4
p,y1a,23,n4c,y8d,4
p,y1a,y2b,23,y8d,4
p,y1a,y2b,n4c,23,4
p,23,n2b,y4c,y8d,3
p,n1a,23,y4c,y8d,3
p,n1a,n2b,23,y8d,3
p,n1a,n2b,y4c,23,3
p,23,n2b,y4c,y8d,2
p,y1a,23,y4c,y8d,2
p,y1a,n2b,23,y8d,2
p,y1a,n2b,y4c,23,2
p,23,y2b,y4c,y8d,1
p,n1a,23,y4c,y8d,1
p,n1a,y2b,23,y8d,1
p,n1a,y2b,y4c,23,1
p,23,y2b,y4c,y8d,0
p,y1a,23,y4c,y8d,0
p,y1a,y2b,23,y8d,0
p,y1a,y2b,y4c,23,0
# Transitions not involving obstacles
p,n1a,n2b,n4c,n8d,0
p,y1a,n2b,n4c,n8d,1
p,n1a,y2b,n4c,n8d,2
p,y1a,y2b,n4c,n8d,3
p,n1a,n2b,y4c,n8d,4
p,y1a,n2b,y4c,n8d,5
p,n1a,y2b,y4c,n8d,6
p,y1a,y2b,y4c,n8d,7
p,n1a,n2b,n4c,y8d,8
p,y1a,n2b,n4c,y8d,9
p,n1a,y2b,n4c,y8d,10
p,y1a,y2b,n4c,y8d,11
p,n1a,n2b,y4c,y8d,12
p,y1a,n2b,y4c,y8d,13
p,n1a,y2b,y4c,y8d,14
p,y1a,y2b,y4c,y8d,15
@NAMES
1 UP
2 RIGHT
4 DOWN
8 LEFT
16 BLOCK OBSTACLE
17 ON OBSTACLE
18 ×2 OBSTACLE
19 +1 OBSTACLE
20 ÷2 OBSTACLE
21 -1 OBSTACLE
22 REVERSE OBSTACLE
23 NOT GATE OBSTACLE
@COLORS
1 170 0 0
2 85 0 0
3 255 0 0
4 0 0 170
5 170 0 170
6 85 0 170
7 255 0 170
8 0 0 85
9 170 0 85
10 85 0 85
11 255 0 85
12 0 0 255
13 170 0 255
14 85 0 255
15 255 0 255
16 0 102 0
17 0 255 0