My kids have this fun game called Spot It! The game constraints (as best I can describe) are:
- It is a deck of 55 cards
- On each card are 8 unique pictures (i.e. a card can’t have 2 of the same picture)
- Given any 2 cards chosen from the deck, there is 1 and only 1 matching picture.
- Matching pictures may be scaled differently on different cards but that is only to make the game harder (i.e. a small tree still matches a larger tree)
The principle of the game is: flip over 2 cards and whoever first picks the matching picture gets a point.
Here’s a picture for clarification:
(Example: you can see from the bottom 2 cards above that the matching picture is the green dinosaur. Between the bottom-right and middle-right picture, it’s a clown’s head.)
I’m trying to understand the following:
-
What are the minimum number of different pictures required to meet these criteria and how would you determine this?
-
Using pseudocode (or Ruby), how would you generate 55 game cards from an array of N pictures (where N is the minimum number from question 1)?
Update:
Pictures do occur more than twice per deck (contrary to what some have surmised). See this picture of 3 cards, each with a lightning bolt: