To play this game solo, one must emulate two states by themselves.
/¯¯\___________________________________________ /¯¯\
\__/¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ \__/
Current Guess ———Distributed Apparatus——— Correct Guess
That is, the State of the Current Guess & the State of the Correct Guess
You also have to emulate an apparatus between them that can check whether the current guess matches, without revealing its state. This requires partitioning the data.
Given you only have paper and pencil, I'd say the ideal solution involves origami.
Ones makes 10 identical origami boxes, and labels their tops, from 1 to 10.
Then the 'Correct Guess State' is emulated by closing you eyes, shuffling up the boxes, and placing a small rolled up piece of paper in one of the boxes. You close it, and close all the others, with your eyes still closed. Given you mix up the boxes sufficiently, before opening your eyes, you should then be able to play out the game rather simply by guessing a number, opening the box and seeing if you were correct or not.
This method could be played over and over.
Now, I am sure you can see how the same game could be played by simply ripping up a paper into 10 labeled pieces, marking one of their backs (so it doesn't bleed through) and placing the pieces all label up. Checking would occur by flipping a piece over to see if it contained the mark. This of course, could only be played a limited number of times before new pieces would have to be made. Perhaps varying the symbol/color written on the back of a piece of paper would elongate lifetime of the pieces.
Both these methods employ the same concepts of maintaining partitioned states(data), which I may also add, as food for thought, is the secret to designing parallelization into a system.
"Partitioning the data is the key to parallelizing the program"
— Joe Armstrong, co-founder of Erlang
Cheers,
rC