Here is some code I am writing I am looking to improve. What it does is attempt to solve a puzzle of blocks, by orienting them in every possible permutation to see if they fit in.
Note that I am using enums for orientation, but not for the block position. Why? Because I am using the block position as an index into arraylists, and also walk through the positions in an incrementing manner (like an int). Is this a correct strategy, or should I use enums after all?
This particular routine counts the number of valid permutations which the blocks fit together correctly.
Am I cloning things properly? (I am trying to just do a shallow copy)