On the Subject of Simon Subdivides

This is like one of those toys you played with as kid where you have one of those toys you played with as a kid, except this one is one of those toys you played with as a kid purchased like one those toys you played with as a kid.

Initially, this module consists of four cells, each distinctly coloured either red, green, blue, or violet. This initial configuration of four cells will be referred to as Generation One (G1).

These cells will flash in sequence with a long pause between repeats. This sequence of colours is to be used to construct a sequence of inputs:

  • If the cells are in their intial state, the initial colour is determined by the following:
    • The initial colour is the first of the letters B, G, R, or V to occur in the serial number.
    • If none of the four letters occur in the serial number, the initial colour is the colour of the top cell.
    Otherwise, the initial colour changes every two subdivisions:
    • Consider the G1 cell with the current initial colour.
    • The new initial colour is the colour of the G1 cell at a 90° clockwise rotation to that cell.
  • Find the correct grid to use:
    • Take the last digit of the serial number.
    • Add the number of subdivisions that have occured on this module.
    • If the sum exceeds 4, subtract 5 until it drops below 5.
    • The correct grid is indicated by this number.
  • Construct the input sequence using the grid:
    • The first direction in the input sequence is given by the row corresponding to the initial colour and the column corresponding to the colour of the first flashing cell.
    • All other directions are given by the row corresponding to the previous flashing colour and the column corresponding to the current flashing colour.
    • If the flashing cell does not belong to G1, multiple directions are added given by the row corresponding to the initial colour/colour of the previous flashing cell and the columns corresponding to the colours of the undivided cells of each of its generations, starting with G1.

Grids

Grid 0
RedBlueVioletGreen
RedDownRightLeftUp
BlueLeftUpDownRight
VioletRightDownUpLeft
GreenUpLeftRightDown
Grid 1
RedBlueVioletGreen
RedUpUpDownLeft
BlueRightDownRightLeft
VioletLeftRightDownRight
GreenLeftDownUpUp
Grid 2
RedBlueVioletGreen
RedRightRightRightDown
BlueUpUpDownLeft
VioletRightDownUpUp
GreenDownLeftLeftLeft
Grid 3
RedBlueVioletGreen
RedLeftLeftUpUp
BlueLeftRightDownUp
VioletDownUpLeftRight
GreenDownDownRightRight
Grid 4
RedBlueVioletGreen
RedDownRightDownLeft
BlueLeftUpRightUp
VioletUpRightUpLeft
GreenLeftDownRightDown

For each direction in the input sequence, select the cell in that direction.
If that cell has subdivided, the next direction refers to the daughter cell relative to the subdivided parent cell.

If the sequence ends on a subdivided cell, wrap around to the beginning of the input sequence.

Once all of the correct inputs have been made:

  • If the last cell to be pressed is a G3 cell, the module will be defused.
  • Otherwise the last cell to be pressed will subdivide into four cells of the next generation.

If any input is incorrect, the module will immediately strike and generate a new sequence of flashing cells.