When I started on the Christmas puzzle I posted a few days ago, I was going to use the same approach - but never really figured out how to do a multi-dimensional array in Alice. (Frankly, I didn't try too hard.

)
Instead, I went to a simple list and didn't worry about the x-y placement, which was fine for the puzzle, since I eventually wanted to be able to use it with an arbitrary array size.
You might try the same thing with a list of 16 cards and the index also corresponding to a card position (defined in the initial setup). Then the same loop that would check to see if you clicked on a card could also check to see if the previous card checked on was the same type. (I know this is a bit brief, but see the code for the puzzle if you want to try it.)
If you do stay with the array approach, please post the result.

I'd really like to see a good example of that method.