Purity is an interactive purity test program with a simple,
user interface and datafile format. For each test, questions
are printed to the your terminal, and you are prompted for
an answer to the current question. At a prompt, these are
your choices:
y
Answer "yes" to the question.
n
Answer "no" to the question.
b
Backup one question, if you answered it incorrectly, or
someone is watching you take the test, and you don't (or do)
want to admit a different answer.
r
Redraw the current question.
q
Quit the test, and print the current score.
?
Print a help screen for the current prompt.
k
Kill a section of the test. This skips all the questions
of the test until the next subject heading.
a
Toggle answer mode between
real answers and
obfuscated answers.
Real answers print "yes" and "no", while
obfuscated answers are "Maybe" and "maybe". Obfuscated answers are
preferred if you are shy, and don't want people to be able to
read your answers over your shoulder as you take the test.
d
Toggle dERanGe output.
s
Print your current score on the test you are taking.
l
Toggle score logging.
At the end of the test, your score is printed out. For most
purity tests, lower scores denote more "experience" of the
test material.
FLAGS
These are the command line flags for the test.
-a
Show
real answers (i.e. "yes" and "no") instead of
obfuscated ones (i.e. "Maybe" and "maybe") as you answer
the questions.
-d
PrINt THe tESt in DerANgeD pRInT.
-f
Take the test in
fast mode. Only the questions are printed, and not any other
text blocks, like the introdution, subject headers, and
the conclusion.
-l
Take the test without having your score logged.
-p
Print the test without prompting for answers. This is
useful for making hard copies of the tests without
having to edit out the prompts by hand.
-r
Decrypt the test using the
Rot 13 algorithm. This is
done as a form of "protection", such that if you read a
rot13 test and it offends you, it's your own fault.
-z
zoom through more prompts in large text blocks. The
default is to prompt the user for
"more" when a screenful
of text has been printed without any user input.
DATAFILE FORMAT
The format of the datafiles is a very simple format,
intended such that new tests can quickly and easily
be converted to run with the test.
There are four types of text in a purity test datafile.
Each type is contained in a
bracket type of punctuation. The definitions are as follows:
the styles of text blocks are:
{ plain text block }
[ subject header ]
( test question )
and < conclusion >
Plain text blocks are printed out character for character.
Subject headers are preceeded by their subject numbers, starting
at 1, and then printed as text blocks.
Questions are preceeded by their numbers, and then prompt the
user to answer the question, keeping track of the user's
current score.
Conclusions first calculate and print the user's score for the
test, then print out the conclusion as a text block.
If you wish to include any of the various bracket punctuation in
your text, the backslash ("\") character will
escape the next character.
To print a question with parentheses, you would use the following format:
(have you ever written a purity test \(like this one\)?)
the output would be this:
1. have you ever written a purity test (like this one)?
and then it would have asked the user for her/his answer.
For a generic datafile, use the "sample" datafile for the test.
FILES
/var/games/purity.scores the score logfile
/usr/share/games/purity/* test data files