Rule:NoTimeForAnything

From LifeWiki
Revision as of 19:58, 4 October 2023 by Ian07 (talk | contribs) (from discord)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

@RULE NoTimeForAnything

based on NoTimeAtAll by HactarCE

0: blank 1: wire 2: wire 0 3: wire 1 4: tail 5: special

_connected_ neighbors meet one of the following criteria: diagonally adjacent cells: a) with two blank neighbors b) with one blank neighbor and one special neighbor c) with two wire neighbors orthogonally adjacent cells: d) with two non-wire neighbors e) with one wire neighbor that itself has a non-wire neighbor f) with two wire neighbors, each with a non-wire neighbor

thanks to this, the rule features compact crossovers (diagonal wires crossing with different parity) and corners act as extra space instead of being skipped.

head and tail automatically change into tail and wire, unless blocked by a connected wire or head respectively. head cells spread to connected wire cells unless blocked by a connected tail cell, if the two cells are both adjacent to certain arrangements of special cells or if the wire cell is a gate.

_gates_ only change if all of their inputs contain a wire cell. what head type a gate changes in to depends on the types of its inputs. if a two-input gate receives an input via its output, it acts like a splitter.

OR: _I_ I@_ __O

AND: _i_ I@I _O_

SUM1: i_I _@_ I_O

NOR: I_I _@_ _O_

MUX: S5S _@_ C_O

the multiplexer is only distinguished from the 3-input sum1 gate by the mandatory presence of a state-5 special cell between its two signal inputs. if the control input is 1, the signal on the same side is chosen and output, else the signal on the opposite side.

Inserter: 5_C O@_ _I5 if the inserter's control input is 1, it outputs the data input. else, it outputs a 0 and holds the data input.

Deleter: 5_O C@5

  • 0I

if the deleter's control input is 1, it outputs the data input. else, it outputs nothing and deletes both inputs.

Splitter/Merger:

#5#

_5@0_

*#*

if the splitter receives an input from the bottom, it outputs it through the currently selected top output and selects the other top output. if the merger receives an input from the currently selected top input, it outputs it through the bottom output and selects the other top input, else the signal gets held.

@TABLE

n_states: 6 neighborhood: Moore symmetries: rotate4reflect

  1. all states

var a0 = {0, 1, 2, 3, 4, 5} var a1 = a0 var a2 = a0 var a3 = a0 var a4 = a0 var a5 = a0 var a6 = a0 var a7 = a0 var a8 = a0

  1. all wire states

var w0 = {1, 2, 3, 4} var w1 = w0 var w2 = w0 var w3 = w0 var w4 = w0 var w5 = w0 var w6 = w0 var w7 = w0 var w8 = w0

  1. empty and special

var d0 = {0, 5} var d1 = d0 var d2 = d0 var d3 = d0 var d4 = d0 var d5 = d0 var d6 = d0 var d7 = d0 var d8 = d0

  1. signal head states

var c0 = {2, 3} var c1 = c0 var c2 = c0 var c3 = c0 var c4 = c0 var c5 = c0 var c6 = c0 var c7 = c0 var c8 = c0

  1. the one special case. occurs in the inserter and nowhere else
4, c1,  5,  5,  1,  5,  5,  4, a8,  1
  1. a)
  2. _0A
  3. _@0
  4. ___
  5. @ x A x
1,  0,  4,  0, a4, a5, a6, a7, a8,  1

c0, 0, 1, 0, a4, a5, a6, a7, a8, c0

4,  0, c2,  0, a4, a5, a6, a7, a8,  4
  1. b)
  2. _0A
  3. _@5
  4. ___
  5. @ 0 A 5
1,  0,  4,  5, a4, a5, a6, a7, a8,  1

c0, 0, 1, 5, a4, a5, a6, a7, a8, c0

4,  0, c2,  5, a4, a5, a6, a7, a8,  4
  1. c)
  2. _XB
  3. _@X
  4. ___
  5. @ X B X
1, w1,  4, w3, a4, a5, a6, a7, a8,  1

c0, w1, 1, w3, a4, a5, a6, a7, a8, c0

4, w1, c2, w3, a4, a5, a6, a7, a8,  4
  1. d)
  2. __x
  3. _@C
  4. __x
  5. @ x C x
1, a1, d2,  4, d4, a5, a6, a7, a8,  1

c0, a1, d2, 1, d4, a5, a6, a7, a8, c0

4, a1, d2, c3, d4, a5, a6, a7, a8,  4
  1. e)
  2. _xX
  3. _@C
  4. __x
  5. @ x X C x
1, d1, w2,  4, d4, a5, a6, a7, a8,  1

c0, d1, w2, 1, d4, a5, a6, a7, a8, c0

4, d1, w2, c3, d4, a5, a6, a7, a8,  4
  1. f)
  2. _xX
  3. _@C
  4. _xX
  5. @ x X C X x
1, d1, w2,  4, w4, d5, a6, a7, a8,  1

c0, d1, w2, 1, w4, d5, a6, a7, a8, c0

4, d1, w2, c3, w4, d5, a6, a7, a8,  4
  1. Inserter
  2. central cell:
  3. 5_C
  4. O@_
  5. _I5
  6. @ I 5 C 5 O
1, c1,  5, d3,  2, d5,  5,  1, a8,  2
1, c1,  5, d3,  3, d5,  5,  1, a8, c1
1, w1,  5, d3, w4, d5,  5,  1, a8,  1
4, c1,  5,  5,  1,  5,  5,  4, a8,  1
  1. gate special:
  2. 0#*
  3. #@*
  4. #5*
  5. @ 5 # # 0 # * * *
0,  5, c2,  1,  0,  2, a6, a7, a8,  5
5,  5, c2,  1,  0,  3, a6, a7, a8,  0
  1. holding cell:
  2. ##5
  3. _@5
  4. ***
  5. @ # # 5 5 * * *

c0, d1, w2, w3, 5, 5, a6, a7, a8, c0

  1. Deleter
  2. gate special:
  3. ***
  4. 5@O
  5. C#5
  6. @ 5 C # 5 O * * *
0,  5,  2,  1,  5, w5, a6, a7, a8,  5
5,  5, c2, w3,  5, w5, a6, a7, a8,  5
5,  5, w2, c3,  5, w5, a6, a7, a8,  5
5,  5, w2, w3,  5, w5, a6, a7, a8,  0
  1. central cell:
  2. 5_O
  3. C@5
  4. *0I
  5. @ # 5 # 5 # 0 *
1, c1,  5, d3,  1,  5, c6,  0, a8, c6
1, w1,  5, d3,  1,  5, w6,  0, a8,  1
  1. Splitter/merger
  2. side special:
  3. *#5
  4. _@#
  5. **#
  6. @ # 5 # # * * *
5, w1,  5,  4,  4, a5, a6, d7, a8,  0
0,  4,  5,  4,  4, a5, a6, d7, a8,  0
0, w1,  5,  4,  4, a5, a6, d7, a8,  5
  1. central cell:
  2. #5#
  3. 5@0
  4. *#*
  5. @ 5 # 5 # 0 * # *
1,  5, w2,  5, c4,  0, a6, w7, a8, c4
1,  5, w2,  5, w4,  0, a6, c7, a8, c7
  1. entrance cell on split side:
  2. *5#
  3. *@5
  4. ***
  5. @ 5 # 5 * * * * *
1,  5, w2,  5, a4, a5, a6, a7, a8,  1
  1. Deleting multiplexer
  2. S5S
  3. _@_
  4. C_O
  5. @ C S 5 S O
1, d1,  2, d3, c4,  5, c6, d7,  1, c6
1, d1,  3, d3, c4,  5, c6, d7,  1, c4
1, d1, w2, d3, w4,  5, w6, d7,  1,  1
  1. OR gate
  2. _I*
  3. I@_
  4. *_O
  5. @ I I * O *
1,  2, d2,  2, a4, d5,  1, d7, a8,  2
1, c1, d2, c3, a4, d5,  1, d7, a8,  3
1, w1, d2, w3, a4, d5,  1, d7, a8,  1
  1. 2-input AND gate
  2. *_*
  3. I@I
  4. _O_
  5. @ I * * I O
1,  3, a2, d3, a4,  3, d6,  1, d8,  3
1, c1, a2, d3, a4, c5, d6,  1, d8,  2
1, w1, a2, d3, a4, w5, d6,  1, d8,  1
  1. 3-input AND gate
  2. _I_
  3. I@I
  4. _O_
  5. @ I I I O
1,  3, d2,  3, d4,  3, d6,  1, d8,  3
1, c1, d2, c3, d4, c5, d6,  1, d8,  2
1, w1, d2, w3, d4, w5, d6,  1, d8,  1
  1. 2-input XOR gate
  2. __I
  3. _@_
  4. I_O
  5. @ I O I
1, d1, c2, d3,  1, d5, c2, d7, d8,  2
1, d1, c2, d3,  1, d5, c6, d7, d8,  3
1, d1, w2, d3,  1, d5, w6, d7, d8,  1
  1. _#I
  2. #@#
  3. I#O
  4. @ # I # O # I #
1, w1, c2, w3,  1, w5, c2, w7, d8,  2
1, w1, c2, w3,  1, w5, c6, w7, d8,  3
1, w1, w2, w3,  1, w5, w6, w7, d8,  1
  1. 3-input SUM1 gate
  2. I_I
  3. _@_
  4. I_O
  5. @ I I I O
1, d1,  3, d3,  2, d5,  2, d7,  1,  3
1, d1,  2, d3,  3, d5,  2, d7,  1,  3
1, d1, c2, d3, c4, d5, c6, d7,  1,  2
1, d1, w2, d3, w4, d5, w6, d7,  1,  1
  1. I#I
  2. #@#
  3. I#O
  4. @ # I # I # I # O
1, w1,  3, w3,  2, w5,  2, w7,  1,  3
1, w1,  2, w3,  3, w5,  2, w7,  1,  3
1, w1, c2, w3, c4, w5, c6, w7,  1,  2
1, w1, w2, w3, w4, w5, w6, w7,  1,  1
  1. NOR gate
  2. I_I
  3. _@_
  4. *O*
  5. @ I I * O *
1, d1,  2, d3,  2, d5, a6,  1, a8,  3
1, d1, c2, d3, c4, d5, a6,  1, a8,  2
1, d1, w2, d3, w4, d5, a6,  1, a8,  1
  1. I#I
  2. #@#
  3. _O_
  4. @ # I # I # O
1, w1,  2, w3,  2, w5, d6,  1, d8,  3
1, w1, c2, w3, c4, w5, d6,  1, d8,  2 
1, w1, w2, w3, w4, w5, d6,  1, d8,  1
  1. connected signal head turns wire into identical head
1,  0, c2,  0, a4, a5, a6, a7, a8, c2
1,  0, c2,  5, a4, a5, a6, a7, a8, c2
1, w1, c2, w3, a4, a5, a6, a7, a8, c2
1, a1, d2, c3, d4, a5, a6, a7, a8, c3
1, d1, w2, c3, d4, a5, a6, a7, a8, c3
1, d1, w2, c3, w4, d5, a6, a7, a8, c3
  1. head turns into tail

c0, a1, a2, a3, a4, a5, a6, a7, a8, 4

  1. tail turns into wire
4, a1, a2, a3, a4, a5, a6, a7, a8,  1

@COLORS 0 0 0 0 1 70 70 140 2 194 61 51 3 51 204 51 4 153 153 153 5 220 200 20