Good day ladies, gentlemen, and what have you!
I have a working apparatus that is overly complicated and would like suggestions on how to simplify it. I have 8 inputs that are either active or inactive, and the output tells me how many are active. In my case I get a bit of a simplification because I just need to know if 1, 2-4, or 5+ are active. The design I have is 11x11x7 contained with water supplied on top and drainage on the bottom, and looks like this:
--X--
|~~~|
|-|-X-|-|
|~|-B-|~|
X~XB.BX~X
|~|-B-|~|
|-|-X-|-|
|~~~|
--X--
-| Walls
~ Water
X Flood Gates
B Bridges
. Hole
This shows 4 inputs-- The bridges and outside floodgates are controlled by a clock to load water. The inside floodgates are the 4 inputs (they go down when active). In each stretch of 3 water tiles there is a central hatch (also controlled by the load water clock) that leads to another floor of the same design (making 8 inputs total). Below the hole are 4 levels with pressure plates and a drain. With those pressure plates right now I can determine reliably the number of inputs whether it is 1, 2 to 4, or more than 4.
The problem is that for my project I need to make a LOT of these. Each one of these (two levels) has 12 floodgates, 8 bridges, and 4 hatches. I am looking for ways to reduce. Now I erred on the side of caution by making each input supply 4 full 7/7 tiles of water--I figured that would reduce the likelihood of evaporate or leftover 1/7 puddles from messing with calculations and indeed it is solid, but it's just too friggen complex! Halp!
For the curious here are some drawings of it in action:
Inputs North and West active, East and South inactive.
Clock at filling stage,
--W--
|WWW| W is water
|-|-W-|-| ~ is empty
|W|-B-|~|
WWWB.BX~X
|W|-B-|~|
|-|-X-|-|
|~~~|
--X--
Clock at calculation stage,
--X--
|WWW| W is water
|-|-W-|-| ~ is empty
|W|-W-|~|
XWWW.~X~X
|W|-~-|~|
|-|-X-|-|
|~~~|
--X--
Water flows down the hoooole