Actually, it's this:
is used to block out possible sources of interference in the code. For example, if you tested
, and got
, you wouldn't know if it was
,
,
, or
that triggered the faces. But if you used
, you could more easily figure out where the
and
are.
is used to block out symbols in the code as well. Whereas guessing
against
would return
, guessing
against the same code would return
, making it a bit more helpful in determining the contents of the first two cells.
is used to determine if you're guessing the right symbols. If you guessed
, and got
, and you knew the
,
, and
were correct, you wouldn't know if the 4th symbol was
,
,
,
, or what. But guessing
gives a bit more info, since it'll return 4 faces if there are no repeats, and 3 if there are repeats.
Just a note:
takes precedence over
. So guessing
against
would return
, with
corresponding to the first
matching to the
, the first
corresponding the the second
matching to the
, and the other
corresponding to the
.
And also, the person needs to guess the exact code to win, not just get
. Otherwise, the game would be over after someone guessed
.