Well … the “general” case for what you are after is exposed here (minus the motion part - or at least controlled via some user option):
Is - more or less - easy to wrire a “simplified” C# on that matter … but if you are not familiar with coding I doupt that such a “black box” could be usefull for you: for instance managing the interactive placemnt part, creating alternative new rules for the placement, void cells control (vacancy), definition of “module” combo options etc etc.
BTW: A poor man’s Plan B could be creating rnd panels/Rectangles (via a user controlled vacancy per BrepFace) and then check, sample and discard the combos that are not included in your module definition (i.e. mini Matrices sampled in a Matrix List in fact). For instance start from a state like this:
… and then pick the desired combos.