Here is
a
very hard puzzle involving Knights, Knaves, and Spies
(although the puzzle calls the people who can both lie and tell the truth "Jokers"
instead of "Spies").
True and False can get very confusing when you have "self-referential" statements
that make assertions about whether they themselves are true or false. This
post
from the blog "Math with Bad Drawings" gives a very accessible description how these statements have
led mathematicians to discover that certain statements cannot be proven true or false.
These ideas have produced some very deep results in mathematics, called
Gödel's
Incomplete Theorems, which show there are logical limitations to what
we can prove and what we can know to be true.