Rule:IntegratedCircuits Fixed
@RULE IntegratedCircuits_Fixed
An improved version of Wireworld. This rule has 5 wire states which can carry positive and negative charges. The colored wires do not interact with eachother, and the white wire can interact with any wire. The purple states, representing the NAND gate, can also interact with any wire. The purpose of the two wall states is to act as a marker for bigger circuits. Droseraman/Saka did the colors.
0 ----: Off 1 ----: Regular wire 2 ----: Regular wire positive 3 ----: Regular wire negative 4 ----: Regular wire tail 5-8 --: Red wire states 9-12 -: Green wire states 13-16 : Blue wire states 17-20 : Yellow wire states 21-24 : NAND states 25 ---: Wall state, black 26 ---: Wall state, gray 27 ---: Memory cell state, off 28 ---: Memory cell state, on 29 ---: Memory cell state, turning off 30 ---: Memory cell state, turning on 31-34 : Memory cell getter states
@TABLE n_states:35 neighborhood:Moore symmetries:permute
var wildc_1 = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34} var wildc_2 = wildc_1 var wildc_3 = wildc_1 var wildc_4 = wildc_1 var wildc_5 = wildc_1 var wildc_6 = wildc_1 var wildc_7 = wildc_1 var wildc_8 = wildc_1
var pos_a_1 = {2,6,10,14,18,22,32} var pos_a_2 = pos_a_1 var pos_a_3 = pos_a_1 var pos_a_4 = pos_a_1 var pos_a_5 = pos_a_1 var pos_a_6 = pos_a_1 var pos_a_7 = pos_a_1 var pos_a_8 = pos_a_1
var pos_r_1 = {2,6,22,32} var pos_r_2 = pos_r_1 var pos_r_3 = pos_r_1 var pos_r_4 = pos_r_1 var pos_r_5 = pos_r_1 var pos_r_6 = pos_r_1 var pos_r_7 = pos_r_1 var pos_r_8 = pos_r_1
var pos_g_1 = {2,10,22,32} var pos_g_2 = pos_g_1 var pos_g_3 = pos_g_1 var pos_g_4 = pos_g_1 var pos_g_5 = pos_g_1 var pos_g_6 = pos_g_1 var pos_g_7 = pos_g_1 var pos_g_8 = pos_g_1
var pos_b_1 = {2,14,22,32} var pos_b_2 = pos_b_1 var pos_b_3 = pos_b_1 var pos_b_4 = pos_b_1 var pos_b_5 = pos_b_1 var pos_b_6 = pos_b_1 var pos_b_7 = pos_b_1 var pos_b_8 = pos_b_1
var pos_y_1 = {2,18,22,32} var pos_y_2 = pos_y_1 var pos_y_3 = pos_y_1 var pos_y_4 = pos_y_1 var pos_y_5 = pos_y_1 var pos_y_6 = pos_y_1 var pos_y_7 = pos_y_1 var pos_y_8 = pos_y_1
var pos_m_1 = {2,22,30} var pos_m_2 = pos_m_1 var pos_m_3 = pos_m_1 var pos_m_4 = pos_m_1 var pos_m_5 = pos_m_1 var pos_m_6 = pos_m_1 var pos_m_7 = pos_m_1 var pos_m_8 = pos_m_1
var neu_a_1 = {0,1,4,5,8,9,12,13,16,17,20,21,24,25,26,27,28,29,30,31,34} var neu_a_2 = neu_a_1 var neu_a_3 = neu_a_1 var neu_a_4 = neu_a_1 var neu_a_5 = neu_a_1 var neu_a_6 = neu_a_1 var neu_a_7 = neu_a_1 var neu_a_8 = neu_a_1
var neu_r_1 = {0,1,4,5,8,9,10,11,12,13,14,15,16,17,18,19,20,21,24,25,26,27,28,29,30,31,34} var neu_r_2 = neu_r_1 var neu_r_3 = neu_r_1 var neu_r_4 = neu_r_1 var neu_r_5 = neu_r_1 var neu_r_6 = neu_r_1 var neu_r_7 = neu_r_1 var neu_r_8 = neu_r_1
var neu_g_1 = {0,1,4,5,6,7,8,9,12,13,14,15,16,17,18,19,20,21,24,25,26,27,28,29,30,31,34} var neu_g_2 = neu_g_1 var neu_g_3 = neu_g_1 var neu_g_4 = neu_g_1 var neu_g_5 = neu_g_1 var neu_g_6 = neu_g_1 var neu_g_7 = neu_g_1 var neu_g_8 = neu_g_1
var neu_b_1 = {0,1,4,5,6,7,8,9,10,11,12,13,16,17,18,19,20,21,24,25,26,27,28,29,30,31,34} var neu_b_2 = neu_b_1 var neu_b_3 = neu_b_1 var neu_b_4 = neu_b_1 var neu_b_5 = neu_b_1 var neu_b_6 = neu_b_1 var neu_b_7 = neu_b_1 var neu_b_8 = neu_b_1
var neu_y_1 = {0,1,4,5,6,7,8,9,10,11,12,13,14,15,16,17,20,21,24,25,26,27,28,29,30,31,34} var neu_y_2 = neu_y_1 var neu_y_3 = neu_y_1 var neu_y_4 = neu_y_1 var neu_y_5 = neu_y_1 var neu_y_6 = neu_y_1 var neu_y_7 = neu_y_1 var neu_y_8 = neu_y_1
var neg_a_1 = {3,7,11,15,19,23,33} var neg_a_2 = neg_a_1 var neg_a_3 = neg_a_1 var neg_a_4 = neg_a_1 var neg_a_5 = neg_a_1 var neg_a_6 = neg_a_1 var neg_a_7 = neg_a_1 var neg_a_8 = neg_a_1
var neg_r_1 = {3,7,23,33} var neg_r_2 = neg_r_1 var neg_r_3 = neg_r_1 var neg_r_4 = neg_r_1 var neg_r_5 = neg_r_1 var neg_r_6 = neg_r_1 var neg_r_7 = neg_r_1 var neg_r_8 = neg_r_1
var neg_g_1 = {3,11,23,33} var neg_g_2 = neg_g_1 var neg_g_3 = neg_g_1 var neg_g_4 = neg_g_1 var neg_g_5 = neg_g_1 var neg_g_6 = neg_g_1 var neg_g_7 = neg_g_1 var neg_g_8 = neg_g_1
var neg_b_1 = {3,15,23,33} var neg_b_2 = neg_b_1 var neg_b_3 = neg_b_1 var neg_b_4 = neg_b_1 var neg_b_5 = neg_b_1 var neg_b_6 = neg_b_1 var neg_b_7 = neg_b_1 var neg_b_8 = neg_b_1
var neg_y_1 = {3,19,23,33} var neg_y_2 = neg_y_1 var neg_y_3 = neg_y_1 var neg_y_4 = neg_y_1 var neg_y_5 = neg_y_1 var neg_y_6 = neg_y_1 var neg_y_7 = neg_y_1 var neg_y_8 = neg_y_1
var neg_m_1 = {3,23,29} var neg_m_2 = neg_m_1 var neg_m_3 = neg_m_1 var neg_m_4 = neg_m_1 var neg_m_5 = neg_m_1 var neg_m_6 = neg_m_1 var neg_m_7 = neg_m_1 var neg_m_8 = neg_m_1
- normal wire transitions
1,pos_a_1,neu_a_2,neu_a_3,neu_a_4,neu_a_5,neu_a_6,neu_a_7,neu_a_8,2 1,pos_a_1,pos_a_2,neu_a_3,neu_a_4,neu_a_5,neu_a_6,neu_a_7,neu_a_8,2 1,pos_a_1,pos_a_2,pos_a_3,pos_a_4,neu_a_5,neu_a_6,neu_a_7,neu_a_8,2 1,pos_a_1,pos_a_2,pos_a_3,pos_a_4,pos_a_5,neu_a_6,neu_a_7,neu_a_8,2 1,pos_a_1,pos_a_2,pos_a_3,pos_a_4,pos_a_5,pos_a_6,neu_a_7,neu_a_8,2 1,pos_a_1,pos_a_2,pos_a_3,pos_a_4,pos_a_5,pos_a_6,pos_a_7,neu_a_8,2 1,pos_a_1,pos_a_2,pos_a_3,pos_a_4,pos_a_5,pos_a_6,pos_a_7,pos_a_8,2
1,neg_a_1,neu_a_2,neu_a_3,neu_a_4,neu_a_5,neu_a_6,neu_a_7,neu_a_8,3 1,neg_a_1,neg_a_2,neu_a_3,neu_a_4,neu_a_5,neu_a_6,neu_a_7,neu_a_8,3 1,neg_a_1,neg_a_2,neg_a_3,neg_a_4,neu_a_5,neu_a_6,neu_a_7,neu_a_8,3 1,neg_a_1,neg_a_2,neg_a_3,neg_a_4,neg_a_5,neu_a_6,neu_a_7,neu_a_8,3 1,neg_a_1,neg_a_2,neg_a_3,neg_a_4,neg_a_5,neg_a_6,neu_a_7,neu_a_8,3 1,neg_a_1,neg_a_2,neg_a_3,neg_a_4,neg_a_5,neg_a_6,neg_a_7,neu_a_8,3 1,neg_a_1,neg_a_2,neg_a_3,neg_a_4,neg_a_5,neg_a_6,neg_a_7,neg_a_8,3
2,wildc_1,wildc_2,wildc_3,wildc_4,wildc_5,wildc_6,wildc_7,wildc_8,4 3,wildc_1,wildc_2,wildc_3,wildc_4,wildc_5,wildc_6,wildc_7,wildc_8,4 4,wildc_1,wildc_2,wildc_3,wildc_4,wildc_5,wildc_6,wildc_7,wildc_8,1
- red wire transitions
5,pos_r_1,neu_r_2,neu_r_3,neu_r_4,neu_r_5,neu_r_6,neu_r_7,neu_r_8,6 5,pos_r_1,pos_r_2,neu_r_3,neu_r_4,neu_r_5,neu_r_6,neu_r_7,neu_r_8,6 5,pos_r_1,pos_r_2,pos_r_3,pos_r_4,neu_r_5,neu_r_6,neu_r_7,neu_r_8,6 5,pos_r_1,pos_r_2,pos_r_3,pos_r_4,pos_r_5,neu_r_6,neu_r_7,neu_r_8,6 5,pos_r_1,pos_r_2,pos_r_3,pos_r_4,pos_r_5,pos_r_6,neu_r_7,neu_r_8,6 5,pos_r_1,pos_r_2,pos_r_3,pos_r_4,pos_r_5,pos_r_6,pos_r_7,neu_r_8,6 5,pos_r_1,pos_r_2,pos_r_3,pos_r_4,pos_r_5,pos_r_6,pos_r_7,pos_r_8,6
5,neg_r_1,neu_r_2,neu_r_3,neu_r_4,neu_r_5,neu_r_6,neu_r_7,neu_r_8,7 5,neg_r_1,neg_r_2,neu_r_3,neu_r_4,neu_r_5,neu_r_6,neu_r_7,neu_r_8,7 5,neg_r_1,neg_r_2,neg_r_3,neg_r_4,neu_r_5,neu_r_6,neu_r_7,neu_r_8,7 5,neg_r_1,neg_r_2,neg_r_3,neg_r_4,neg_r_5,neu_r_6,neu_r_7,neu_r_8,7 5,neg_r_1,neg_r_2,neg_r_3,neg_r_4,neg_r_5,neg_r_6,neu_r_7,neu_r_8,7 5,neg_r_1,neg_r_2,neg_r_3,neg_r_4,neg_r_5,neg_r_6,neg_r_7,neu_r_8,7 5,neg_r_1,neg_r_2,neg_r_3,neg_r_4,neg_r_5,neg_r_6,neg_r_7,neg_r_8,7
6,wildc_1,wildc_2,wildc_3,wildc_4,wildc_5,wildc_6,wildc_7,wildc_8,8 7,wildc_1,wildc_2,wildc_3,wildc_4,wildc_5,wildc_6,wildc_7,wildc_8,8 8,wildc_1,wildc_2,wildc_3,wildc_4,wildc_5,wildc_6,wildc_7,wildc_8,5
- green wire transitions
9,pos_g_1,neu_g_2,neu_g_3,neu_g_4,neu_g_5,neu_g_6,neu_g_7,neu_g_8,10 9,pos_g_1,pos_g_2,neu_g_3,neu_g_4,neu_g_5,neu_g_6,neu_g_7,neu_g_8,10 9,pos_g_1,pos_g_2,pos_g_3,pos_g_4,neu_g_5,neu_g_6,neu_g_7,neu_g_8,10 9,pos_g_1,pos_g_2,pos_g_3,pos_g_4,pos_g_5,neu_g_6,neu_g_7,neu_g_8,10 9,pos_g_1,pos_g_2,pos_g_3,pos_g_4,pos_g_5,pos_g_6,neu_g_7,neu_g_8,10 9,pos_g_1,pos_g_2,pos_g_3,pos_g_4,pos_g_5,pos_g_6,pos_g_7,neu_g_8,10 9,pos_g_1,pos_g_2,pos_g_3,pos_g_4,pos_g_5,pos_g_6,pos_g_7,pos_g_8,10
9,neg_g_1,neu_g_2,neu_g_3,neu_g_4,neu_g_5,neu_g_6,neu_g_7,neu_g_8,11 9,neg_g_1,neg_g_2,neu_g_3,neu_g_4,neu_g_5,neu_g_6,neu_g_7,neu_g_8,11 9,neg_g_1,neg_g_2,neg_g_3,neg_g_4,neu_g_5,neu_g_6,neu_g_7,neu_g_8,11 9,neg_g_1,neg_g_2,neg_g_3,neg_g_4,neg_g_5,neu_g_6,neu_g_7,neu_g_8,11 9,neg_g_1,neg_g_2,neg_g_3,neg_g_4,neg_g_5,neg_g_6,neu_g_7,neu_g_8,11 9,neg_g_1,neg_g_2,neg_g_3,neg_g_4,neg_g_5,neg_g_6,neg_g_7,neu_g_8,11 9,neg_g_1,neg_g_2,neg_g_3,neg_g_4,neg_g_5,neg_g_6,neg_g_7,neg_g_8,11
10,wildc_1,wildc_2,wildc_3,wildc_4,wildc_5,wildc_6,wildc_7,wildc_8,12 11,wildc_1,wildc_2,wildc_3,wildc_4,wildc_5,wildc_6,wildc_7,wildc_8,12 12,wildc_1,wildc_2,wildc_3,wildc_4,wildc_5,wildc_6,wildc_7,wildc_8,9
- blue wire transitions
13,pos_b_1,neu_b_2,neu_b_3,neu_b_4,neu_b_5,neu_b_6,neu_b_7,neu_b_8,14 13,pos_b_1,pos_b_2,neu_b_3,neu_b_4,neu_b_5,neu_b_6,neu_b_7,neu_b_8,14 13,pos_b_1,pos_b_2,pos_b_3,pos_b_4,neu_b_5,neu_b_6,neu_b_7,neu_b_8,14 13,pos_b_1,pos_b_2,pos_b_3,pos_b_4,pos_b_5,neu_b_6,neu_b_7,neu_b_8,14 13,pos_b_1,pos_b_2,pos_b_3,pos_b_4,pos_b_5,pos_b_6,neu_b_7,neu_b_8,14 13,pos_b_1,pos_b_2,pos_b_3,pos_b_4,pos_b_5,pos_b_6,pos_b_7,neu_b_8,14 13,pos_b_1,pos_b_2,pos_b_3,pos_b_4,pos_b_5,pos_b_6,pos_b_7,pos_b_8,14
13,neg_b_1,neu_b_2,neu_b_3,neu_b_4,neu_b_5,neu_b_6,neu_b_7,neu_b_8,15 13,neg_b_1,neg_b_2,neu_b_3,neu_b_4,neu_b_5,neu_b_6,neu_b_7,neu_b_8,15 13,neg_b_1,neg_b_2,neg_b_3,neg_b_4,neu_b_5,neu_b_6,neu_b_7,neu_b_8,15 13,neg_b_1,neg_b_2,neg_b_3,neg_b_4,neg_b_5,neu_b_6,neu_b_7,neu_b_8,15 13,neg_b_1,neg_b_2,neg_b_3,neg_b_4,neg_b_5,neg_b_6,neu_b_7,neu_b_8,15 13,neg_b_1,neg_b_2,neg_b_3,neg_b_4,neg_b_5,neg_b_6,neg_b_7,neu_b_8,15 13,neg_b_1,neg_b_2,neg_b_3,neg_b_4,neg_b_5,neg_b_6,neg_b_7,neg_b_8,15
14,wildc_1,wildc_2,wildc_3,wildc_4,wildc_5,wildc_6,wildc_7,wildc_8,16 15,wildc_1,wildc_2,wildc_3,wildc_4,wildc_5,wildc_6,wildc_7,wildc_8,16 16,wildc_1,wildc_2,wildc_3,wildc_4,wildc_5,wildc_6,wildc_7,wildc_8,13
- yellow wire transitions
17,pos_y_1,neu_y_2,neu_y_3,neu_y_4,neu_y_5,neu_y_6,neu_y_7,neu_y_8,18 17,pos_y_1,pos_y_2,neu_y_3,neu_y_4,neu_y_5,neu_y_6,neu_y_7,neu_y_8,18 17,pos_y_1,pos_y_2,pos_y_3,pos_y_4,neu_y_5,neu_y_6,neu_y_7,neu_y_8,18 17,pos_y_1,pos_y_2,pos_y_3,pos_y_4,pos_y_5,neu_y_6,neu_y_7,neu_y_8,18 17,pos_y_1,pos_y_2,pos_y_3,pos_y_4,pos_y_5,pos_y_6,neu_y_7,neu_y_8,18 17,pos_y_1,pos_y_2,pos_y_3,pos_y_4,pos_y_5,pos_y_6,pos_y_7,neu_y_8,18 17,pos_y_1,pos_y_2,pos_y_3,pos_y_4,pos_y_5,pos_y_6,pos_y_7,pos_y_8,18
17,neg_y_1,neu_y_2,neu_y_3,neu_y_4,neu_y_5,neu_y_6,neu_y_7,neu_y_8,19 17,neg_y_1,neg_y_2,neu_y_3,neu_y_4,neu_y_5,neu_y_6,neu_y_7,neu_y_8,19 17,neg_y_1,neg_y_2,neg_y_3,neg_y_4,neu_y_5,neu_y_6,neu_y_7,neu_y_8,19 17,neg_y_1,neg_y_2,neg_y_3,neg_y_4,neg_y_5,neu_y_6,neu_y_7,neu_y_8,19 17,neg_y_1,neg_y_2,neg_y_3,neg_y_4,neg_y_5,neg_y_6,neu_y_7,neu_y_8,19 17,neg_y_1,neg_y_2,neg_y_3,neg_y_4,neg_y_5,neg_y_6,neg_y_7,neu_y_8,19 17,neg_y_1,neg_y_2,neg_y_3,neg_y_4,neg_y_5,neg_y_6,neg_y_7,neg_y_8,19
18,wildc_1,wildc_2,wildc_3,wildc_4,wildc_5,wildc_6,wildc_7,wildc_8,20 19,wildc_1,wildc_2,wildc_3,wildc_4,wildc_5,wildc_6,wildc_7,wildc_8,20 20,wildc_1,wildc_2,wildc_3,wildc_4,wildc_5,wildc_6,wildc_7,wildc_8,17
- NAND transitions
21,pos_a_1,neu_a_2,neu_a_3,neu_a_4,neu_a_5,neu_a_6,neu_a_7,neu_a_8,23 21,pos_a_1,pos_a_2,neu_a_3,neu_a_4,neu_a_5,neu_a_6,neu_a_7,neu_a_8,23 21,pos_a_1,pos_a_2,pos_a_3,neu_a_4,neu_a_5,neu_a_6,neu_a_7,neu_a_8,23 21,pos_a_1,pos_a_2,pos_a_3,pos_a_4,neu_a_5,neu_a_6,neu_a_7,neu_a_8,23 21,pos_a_1,pos_a_2,pos_a_3,pos_a_4,pos_a_5,neu_a_6,neu_a_7,neu_a_8,23 21,pos_a_1,pos_a_2,pos_a_3,pos_a_4,pos_a_5,pos_a_6,neu_a_7,neu_a_8,23 21,pos_a_1,pos_a_2,pos_a_3,pos_a_4,pos_a_5,pos_a_6,pos_a_7,neu_a_8,23 21,pos_a_1,pos_a_2,pos_a_3,pos_a_4,pos_a_5,pos_a_6,pos_a_7,pos_a_8,23
21,neu_a_1,neu_a_2,neu_a_3,neu_a_4,neu_a_5,neu_a_6,neu_a_7,neu_a_8,21 21,wildc_1,wildc_2,wildc_3,wildc_4,wildc_5,wildc_6,wildc_7,wildc_8,22
22,wildc_1,wildc_2,wildc_3,wildc_4,wildc_5,wildc_6,wildc_7,wildc_8,24 23,wildc_1,wildc_2,wildc_3,wildc_4,wildc_5,wildc_6,wildc_7,wildc_8,24 24,wildc_1,wildc_2,wildc_3,wildc_4,wildc_5,wildc_6,wildc_7,wildc_8,21
- memory cell transitions
27,pos_m_1,wildc_2,wildc_3,wildc_4,wildc_5,wildc_6,wildc_7,wildc_8,30 28,neg_m_1,wildc_2,wildc_3,wildc_4,wildc_5,wildc_6,wildc_7,wildc_8,29 29,wildc_1,wildc_2,wildc_3,wildc_4,wildc_5,wildc_6,wildc_7,wildc_8,27 30,wildc_1,wildc_2,wildc_3,wildc_4,wildc_5,wildc_6,wildc_7,wildc_8,28
- memory cell getter transitions
31,pos_a_1,27,28,wildc_4,wildc_5,wildc_6,wildc_7,wildc_8,31 31,neg_a_1,27,28,wildc_4,wildc_5,wildc_6,wildc_7,wildc_8,31 31,pos_a_1,28,wildc_3,wildc_4,wildc_5,wildc_6,wildc_7,wildc_8,32 31,neg_a_1,28,wildc_3,wildc_4,wildc_5,wildc_6,wildc_7,wildc_8,32 31,pos_a_1,27,wildc_3,wildc_4,wildc_5,wildc_6,wildc_7,wildc_8,33 31,neg_a_1,27,wildc_3,wildc_4,wildc_5,wildc_6,wildc_7,wildc_8,33 32,wildc_1,wildc_2,wildc_3,wildc_4,wildc_5,wildc_6,wildc_7,wildc_8,34 33,wildc_1,wildc_2,wildc_3,wildc_4,wildc_5,wildc_6,wildc_7,wildc_8,34 34,wildc_1,wildc_2,wildc_3,wildc_4,wildc_5,wildc_6,wildc_7,wildc_8,31
@COLORS
0 48 48 48 dark gray 0 48 48 48 dark gray
1 100 100 100 gray 2 200 160 160 red 3 160 160 200 blue 4 255 255 255 white
5 255 90 90 red 6 215 90 0 red 7 215 0 0 red 8 255 175 175 red
9 90 255 90 green 10 90 215 0 green 11 0 215 90 green 12 175 255 175 green
13 90 90 255 blue 14 0 130 215 blue 15 0 0 215 blue 16 175 175 255 blue
17 255 255 90 yellow 18 255 215 0 yellow 19 215 215 0 yellow 20 255 255 175 yellow
21 255 90 255 purple 22 215 130 215 purple 23 215 0 215 purple 24 255 175 195 purple
25 70 70 90 blue-gray 26 140 100 100 red-gray
27 70 80 80 gray 28 100 200 200 light cyan
29 50 60 60 gray 30 128 255 255 light cyan
31 255 160 90 orange 32 255 105 90 orange 33 255 160 145 orange 34 200 105 35 orange