Psychology Test

This file is part of and Timex Sinclair Public Domain Library Tape 1007. Download the collection to get this file.
Date: 198x
Type: Program
Platform(s): TS 1000

This program implements a five-question pseudo-psychology test that presents abstract ASCII designs and asks the user to interpret them, then delivers a “psycho-analysis” based on the answers. Each test displays a simple ASCII pattern — a diamond cross, a bordered rectangle with diagonal lines, a staircase shape, a partial staircase, and two vertical parallel lines — using TAB positioning and FOR/NEXT delay loops. Answers are collected as numeric choices or Y/N strings, converted to numeric flags, and evaluated with a series of IF/GOTO branches to print one of two or more personality verdicts for each trait. The fifth question scores a self-reported line-crossing count against four thresholds to produce a tiered result.


Program Analysis

Program Structure

The program is divided into three broad phases: an introduction (lines 100–172), five sequential test screens (lines 175–692), and a results/analysis section (lines 694–1070). Each test clears the screen, draws an ASCII graphic, pauses briefly, then solicits one answer before moving to the next test.

  1. Introduction (100–172): Multi-line PRINT statements explain the test; INPUT Z$ waits for Enter.
  2. Test 1 (180–270): Diamond/cross shape via TAB; INPUT A (1 or 2).
  3. Test 2 (276–438): Rectangle border with diagonal lines using TAB; INPUT B$ (“Y”/”N”) converted to B=1/0.
  4. Test 3 (442–556): Staircase shape; INPUT C$ converted to C=1/0.
  5. Test 4 (560–640): Partial staircase; INPUT D (1 or 2).
  6. Test 5 (646–692): Two parallel vertical lines of commas; INPUT E (numeric).
  7. Analysis (694–1070): IF/GOTO chain evaluates A, B, C, D, E and PRINTs trait verdicts.

ASCII Graphics Technique

All five test designs are rendered entirely with PRINT and TAB. Test 1 uses TAB 15 and TAB 14 to centre a small X cross. Test 2 combines a full-width asterisk border (PRINT "********************************") with diagonal X characters positioned symmetrically using two TAB values per line, creating a parallelogram effect inside the border. Tests 3 and 4 use repeated comma characters and dash strings to form descending staircase shapes. Test 5 prints ten rows of ", ," to suggest two parallel vertical lines.

Delay Loops

Each test uses a software delay loop of the form FOR P=1 TO 350 : NEXT P (lines 204–206, 402–404, 512–514, 608–609, 672–674) to pause briefly after drawing the graphic before printing the question. A shorter loop of 250 iterations is used at line 710–712 for the “stand by” delay. These are busy-wait loops with no PAUSE statement, which was a common technique on machines without a convenient timed-pause instruction in BASIC.

Input Handling and Variable Conversion

Tests 2 and 3 accept string inputs (B$ and C$) and immediately convert them to integer flags with paired IF statements:

  • IF B$="Y" THEN LET B=1 / IF B$="N" THEN LET B=0
  • IF C$="Y" THEN LET C=1 / IF C$="N" THEN LET C=0

This conversion allows the analysis section to use straightforward numeric comparisons. Tests 1 and 4 collect numeric values directly into A and D. Test 5 collects a count into E.

Analysis Logic

The analysis (lines 720–1060) is a linear IF/GOTO chain. Each trait is evaluated independently; there is no scoring accumulation. The branching pattern is:

VariableConditionVerdict
AA=1Self-centered / selfish
AA≠1Not self-centered
BB=1Social-minded
BB=0Prefers solitude
CC=1Conformist
CC≠1Non-conformist
DD=2Mechanical-minded
DD≠2Concerned for living things
EE≤3Very weak sex drive
EE≤6Medium low sex drive
EE≤10Medium high sex drive
EE>10“Very, very strong” (falls through)

The E thresholds are evaluated in ascending order at lines 940–944, with fall-through to line 950 for values above 10.

Bugs and Anomalies

  • No input validation: If the user enters a value other than 1 or 2 for A or D, or something other than Y/N for B$/C$, the program may print no verdict for that trait or behave unexpectedly. For B$ and C$, the flags B and C will remain at their default value of 0.
  • String spacing in PRINT: Several PRINT statements concatenate strings with deliberate extra spaces inside the literals to force line-wrapping at desired points (e.g., "THERE ARE FIVE SHORT TEST. EACH TEST WILL BE SOME" continuing onto the next PRINT). This was a common technique to control text flow on a 32-column display.
  • Spelling errors: “COMPLEAT” (line 700), “SENCE” (line 740), “VARY” for “very” (lines 950, 970), “OPPOSIT” (line 980), and “DONT” without apostrophe appear throughout. These are original to the program.
  • Lines 1080–1100: After STOP at line 1070, lines 1080 (CLEAR), 1090 (SAVE "1032%6"), and 1100 (RUN) are unreachable during normal execution and appear to be utility/maintenance lines left in the listing.

Content

Appears On

Assembled by Tim Ward from many sources. Contains programs 10294-10335.

Related Products

Related Articles

Related Content

Image Gallery

Psychology Test

Source Code

 100 CLS 
 110 PRINT "THIS IS A PSYCHOLOGY TEST."
 115 PRINT 
 120 PRINT "THERE ARE FIVE SHORT TEST. EACH TEST WILL BE SOME";
 130 PRINT " DESIGN. YOU   ARE TO MAKE A PICTURE OUT OF THEDESIGN.";
 140 PRINT " AFTER YOU DRAW THE      PICTURE, YOU WILL ANSWER A      QUESTION";
 150 PRINT " ON WHAT YOU DREW. AFTERTHE FIVE TESTS ARE OVER,";
 160 PRINT " THE    COMPUTER WILL MAKE AN ANALYSIS  OF YOU."
 165 PRINT 
 166 PRINT 
 170 PRINT "HIT -ENTER- TO BEGIN..."
 172 INPUT Z$
 175 CLS 
 180 PRINT "TEST NO.1"
 185 PRINT 
 190 PRINT TAB 15;"X";TAB 14;"XXX";TAB 14;"XXX";
 200 PRINT TAB 15;"X"
 201 PRINT 
 202 PRINT 
 204 FOR P=1 TO 350
 206 NEXT P
 210 PRINT "-------------------------------"
 212 PRINT 
 230 PRINT "THE DOT IN THE MIDDLE OF THE    TEST BLOCK";
 240 PRINT " REPRESENTS IN YOUR   PICTURE..."
 245 PRINT 
 250 PRINT "(1) THE CENTRAL SUBJECT"
 255 PRINT 
 260 PRINT "(2) THE RIGHT OR LEFT OF THE        SUBJECT"
 270 INPUT A
 272 CLS 
 274 PRINT 
 276 PRINT "TEST NO.2"
 278 PRINT 
 280 PRINT "********************************"
 290 PRINT TAB 5;"X";TAB 26;"X"
 300 PRINT TAB 4;"X";TAB 27;"X"
 310 PRINT TAB 3;"X";TAB 28;"X"
 320 PRINT TAB 2;"X";TAB 29;"X"
 325 PRINT 
 340 PRINT 
 360 PRINT TAB 2;"X";TAB 29;"X"
 370 PRINT TAB 3;"X";TAB 28;"X"
 380 PRINT TAB 4;"X";TAB 27;"X"
 390 PRINT TAB 5;"X";TAB 26;"X"
 400 PRINT "********************************"
 402 FOR P=1 TO 350
 404 NEXT P
 410 PRINT 
 420 PRINT "IN YOUR PICTURE ARE THE FOUR    CORNERS CONNECTED ?"
 430 PRINT 
 432 PRINT "PRESS Y (YES) OR N (NO)"
 434 INPUT B$
 436 IF B$="Y" THEN LET B=1
 438 IF B$="N" THEN LET B=0
 440 CLS 
 442 PRINT 
 444 PRINT "TEST NO.3"
 450 PRINT 
 460 FOR I=1 TO 4
 462 PRINT TAB 29;","
 464 NEXT I
 472 PRINT TAB 25;"----"
 480 FOR I=1 TO 4
 482 PRINT TAB 24;","
 484 NEXT I
 490 PRINT TAB 20;"----"
 500 FOR I=1 TO 4
 502 PRINT TAB 19;","
 504 NEXT I
 510 PRINT TAB 15;"----"
 512 FOR P=1 TO 350
 514 NEXT P
 540 PRINT "IN YOUR PICTURE DOES THE DESIGN REPRESENT STAIRS ?"
 545 PRINT 
 550 PRINT "PRESS Y (YES) OR N (NO)"
 552 INPUT C$
 554 IF C$="Y" THEN LET C=1
 556 IF C$="N" THEN LET C=0
 560 CLS 
 562 PRINT 
 564 PRINT "TEST NO.4"
 566 PRINT 
 580 FOR I=1 TO 5
 582 PRINT TAB 29;","
 584 NEXT I
 590 PRINT TAB 25;"----"
 600 FOR I=1 TO 4
 602 PRINT TAB 24;","
 604 NEXT I
 606 PRINT 
 608 FOR P=1 TO 350
 609 NEXT P
 620 PRINT "THE SUBJECT OF YOUR PICTURE IS.."
 622 PRINT 
 630 PRINT "(1) AN ANIMAL OR PERSON"
 632 PRINT 
 634 PRINT "(2) SOMETHING MECHANICAL"
 640 INPUT D
 642 CLS 
 644 PRINT 
 646 PRINT "TEST NO.5"
 650 PRINT 
 660 FOR I=1 TO 10
 662 PRINT TAB 13;",    ,"
 664 NEXT I
 670 PRINT 
 672 FOR P=1 TO 350
 674 NEXT P
 680 PRINT "HOW MANY TIMES IN YOUR PICTURE  DID YOU DRAW A LINE WHICH";
 690 PRINT "       CROSSED BOTH PARALLEL LINES"
 692 INPUT E
 694 CLS 
 696 PRINT 
 700 PRINT TAB 8;"TEST COMPLEAT"
 705 PRINT AT 11,9;"**STAND BY**"
 710 FOR I=1 TO 250
 712 NEXT I
 714 CLS 
 716 PRINT AT 1,9;"PSYCHO ANALYSIS"
 718 PRINT 
 720 IF A=1 THEN GOTO 750
 730 PRINT "YOU ARE NOT SELF-CENTERED, AND  HAVE A ";
 740 PRINT "GOOD SENCE OF DESIGN."
 742 PRINT 
 744 GOTO 760
 750 PRINT "YOU ARE SELF-CENTERED,AND HAVE  SELFISH TENDENCIES."
 760 IF B=0 THEN GOTO 790
 770 PRINT "YOU ENJOY PEOPLES COMPANY, AND  ARE SOCIAL-MINDED."
 780 GOTO 820
 790 PRINT "YOU PREFER TO BE ALONE AT TIMES,AND ARE NOT A PARTY TYPE."
 820 IF C=1 THEN GOTO 860
 830 PRINT "YOU ARE A NON-CONFORMIST, AND   ENJOY DOING THINGS";
 840 PRINT " BECAUSE YOU  LIKE THEM, NOT BECAUSE YOU ARE";
 850 PRINT "  INFLUENCED BY OTHERS."
 852 GOTO 870
 860 PRINT "YOU ARE A CONFORMIST, AND YOU   FOLLOW THE CROWD."
 870 PRINT 
 880 IF D=2 THEN GOTO 910
 890 PRINT "YOU ARE NOT MECHANICAL-MINDED,  BUT YOU ARE ";
 900 PRINT "CONCERNED FOR OTHER LIVING THINGS."
 902 GOTO 930
 910 PRINT "YOU ARE MECHANICAL MINDED, AND  ENJOY WORKING ";
 920 PRINT "WITH INANIMATE    OBJECTS."
 930 PRINT 
 940 IF E<=3 THEN GOTO 970
 942 IF E<=6 THEN GOTO 1000
 944 IF E<=10 THEN GOTO 1030
 950 PRINT "***WOW*** YOUR SEX DRIVE IS VARY,VARY, STRONG...";
 960 PRINT "THEY BETTER KEEPYOU IN A CAGE."
 962 GOTO 1050
 970 PRINT "YOU HAVE A VARY WEAK SEX DRIVE, AND YOU PROBABLY ";
 980 PRINT "DONT ENJOY THE COMPANY OF MEMBERS OF THE       OPPOSIT SEX."
 990 GOTO 1050
\n1000 PRINT "YOUR SEX DRIVE IS MEDIUM LOW.   YOU DONT ";
\n1010 PRINT "MIND BEING WITH MEMBERSOF THE OPPOSITE SEX, ";
\n1020 PRINT "BUT YOU    DONT PREFER IT EITHER."
\n1022 GOTO 1050
\n1030 PRINT "YOU HAVE A MEDIUM HIGH SEX DRIVE, AND YOU ";
\n1040 PRINT "ENJOY BEING WITH      MEMBERS OF THE OPPOSITE SEX."
\n1050 PRINT 
\n1060 PRINT "THIS IS THE END OF YOUR         PSYCHO-ANALYSIS."
\n1070 STOP 
\n1080 CLEAR 
\n1090 SAVE "1032%6"
\n1100 RUN 

Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.

People

No people associated with this content.

Scroll to Top