Using distance could surely solve the problem, but I am hooked on the idea of using arrays as I want to master it.
I was thinking that if I was to place a TileAt(curX /curY) - I would also have to check TileAT(curX-1,curY) / TileAT(curX+1,curY) / TileAT(curX,curY-1) / TileAT(curX,curY+1).
If any comes up true, I would have to make a check on any if they are themselves connected true/false, and if they are powered true/false?
Am I being too simple here?