digimaus

Attitude Assessment (COBOL BBS Door)

Apr 9th, 2026
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
COBOL 17.07 KB | Source Code | 0 0
  1. IDENTIFICATION DIVISION.
  2. PROGRAM-ID. ATTITUDE-ASSESSMENT.
  3.  
  4. *> Atitude Asessment
  5. *> Written by Sean Dennis.  Converted to COBOL
  6. *> by Microsoft Copilot with add'l programming
  7. *> by Sean Dennis.
  8.  
  9. *> (C) 2026 by Sean Dennis.
  10. *> Released under the MIT License.
  11.  
  12. *> To compile this, use GNUCobol with this
  13. *> command line: cobc -x -free attitude.cob
  14.  
  15. *> Written in free-format COBOL.
  16.  
  17. ENVIRONMENT DIVISION.
  18. INPUT-OUTPUT SECTION.
  19. FILE-CONTROL.
  20.     SELECT DOOR-SYS ASSIGN TO DROPFILE-PATH
  21.         ORGANIZATION IS LINE SEQUENTIAL
  22.         FILE STATUS IS DOOR-STATUS.
  23.  
  24. DATA DIVISION.
  25. FILE SECTION.
  26. FD  DOOR-SYS.
  27. 01  DOOR-REC               PIC X(255).
  28.  
  29. WORKING-STORAGE SECTION.
  30.  
  31. *> ---------------------------------------------------------
  32. *> FILE STATUS
  33. *> ---------------------------------------------------------
  34. 01  DOOR-STATUS            PIC XX VALUE "00".
  35.  
  36. *> ---------------------------------------------------------
  37. *> ANSI COLOR CONSTANTS (ASCII SAFE)
  38. *> ---------------------------------------------------------
  39. 01  ANSI-RESET             PIC X(4) VALUE X"1B5B306D".
  40. 01  ANSI-CYAN              PIC X(5) VALUE X"1B5B33366D".
  41. 01  ANSI-BRIGHT-YELLOW     PIC X(5) VALUE X"1B5B39336D".
  42. 01  ANSI-GREEN             PIC X(5) VALUE X"1B5B33326D".
  43. 01  ANSI-RED               PIC X(5) VALUE X"1B5B33316D".
  44. 01  ANSI-BOLD              PIC X(4) VALUE X"1B5B316D".
  45. 01  ANSI-CLEAR             PIC X(4) VALUE X"1B5B324A".
  46. 01  ANSI-HOME              PIC X(3) VALUE X"1B5B48".
  47.  
  48. *> ---------------------------------------------------------
  49. *> DOOR.SYS FIELDS (minimal)
  50. *> ---------------------------------------------------------
  51. 01  USER-NAME              PIC X(30) VALUE "LOCAL USER".
  52. 01  USER-SECLEVEL          PIC 9(3)  VALUE 0.
  53. 01  NODE-NUMBER            PIC 9(3)  VALUE 1.
  54. 01  TIME-LEFT              PIC 9(3)  VALUE 10.
  55. 01  NODE-DISPLAY           PIC ZZ9.
  56. 01  TIME-DISPLAY           PIC ZZ9.
  57.  
  58. 01  TEMP-LINE              PIC X(255).
  59.  
  60. *> ---------------------------------------------------------
  61. *> PROGRAM VARIABLES
  62. *> ---------------------------------------------------------
  63. 01  SCORE                  PIC 9(3) VALUE 0.
  64. 01  QUESTION-NUMBER        PIC 99   VALUE 1.
  65. 01  USER-CHOICE            PIC X    VALUE SPACE.
  66. 01  VALID-CHOICE           PIC X    VALUE "N".
  67.  
  68. 01  PROGRAM-TITLE          PIC X(40)
  69.     VALUE "Attitude Assessment (v2.8.4)".
  70. 01  COPYRIGHT-LINE         PIC X(60)
  71.     VALUE "(C) 2025 Sean Dennis - All Rights Reserved".
  72.  
  73. 01  ARGUMENT-COUNT         PIC 9(2).
  74. 01  ARGUMENT-PATH          PIC X(200) VALUE SPACES.
  75. 01  DROPFILE-PATH          PIC X(255) VALUE SPACES.
  76.  
  77. 01  LOCAL-MODE             PIC X VALUE "N".
  78.  
  79.  
  80. PROCEDURE DIVISION.
  81. MAIN-LOGIC.
  82.  
  83. *> ---------------------------------------------------------
  84. *> COMMAND-LINE DROPFILE PATH SUPPORT
  85. *> ---------------------------------------------------------
  86.     ACCEPT ARGUMENT-PATH FROM COMMAND-LINE.
  87.     IF ARGUMENT-PATH NOT = SPACES
  88.       STRING
  89.         ARGUMENT-PATH DELIMITED BY SPACE
  90.         "DOOR.SYS"    DELIMITED BY SIZE
  91.         INTO DROPFILE-PATH
  92.       END-STRING
  93.     ELSE
  94.       MOVE "DOOR.SYS" TO DROPFILE-PATH
  95.     END-IF.
  96.  
  97.     PERFORM LOAD-DOOR-SYS
  98.     PERFORM CLEAR-SCREEN
  99.     PERFORM SHOW-TITLE
  100.     PERFORM SHOW-INSTRUCTIONS
  101.     PERFORM RUN-QUIZ
  102.     PERFORM SHOW-RESULTS
  103.     PERFORM GOODBYE
  104.     STOP RUN.
  105.  
  106. *> ---------------------------------------------------------
  107. *> DOOR.SYS LOADER
  108. *> ---------------------------------------------------------
  109. LOAD-DOOR-SYS.
  110.     OPEN INPUT DOOR-SYS
  111.     IF DOOR-STATUS NOT = "00"
  112.       IF LOCAL-MODE = "Y"
  113.          MOVE 1  TO NODE-NUMBER
  114.          MOVE 10 TO TIME-LEFT
  115.          MOVE "LOCAL USER" TO USER-NAME
  116.     END-IF
  117.  
  118.     READ DOOR-SYS INTO TEMP-LINE
  119.     IF DOOR-STATUS = "00"
  120.         MOVE TEMP-LINE(1:30) TO USER-NAME
  121.     END-IF
  122.  
  123.     READ DOOR-SYS INTO TEMP-LINE
  124.     IF DOOR-STATUS = "00"
  125.         MOVE FUNCTION NUMVAL(TEMP-LINE) TO USER-SECLEVEL
  126.     END-IF
  127.  
  128.     READ DOOR-SYS INTO TEMP-LINE
  129.     IF DOOR-STATUS = "00"
  130.         MOVE FUNCTION NUMVAL(TEMP-LINE) TO TIME-LEFT
  131.     END-IF
  132.  
  133.     READ DOOR-SYS INTO TEMP-LINE
  134.     IF DOOR-STATUS = "00"
  135.         MOVE FUNCTION NUMVAL(TEMP-LINE) TO NODE-NUMBER
  136.     END-IF
  137.  
  138.     CLOSE DOOR-SYS.
  139. *> ---------------------------------------------------------
  140. *> SCREEN HELPERS
  141. *> ---------------------------------------------------------
  142. CLEAR-SCREEN.
  143.     DISPLAY ANSI-CLEAR ANSI-HOME.
  144.  
  145. SHOW-TITLE.
  146.     DISPLAY ANSI-CYAN "----------------------------------------------" ANSI-RESET
  147.     DISPLAY ANSI-BRIGHT-YELLOW PROGRAM-TITLE ANSI-RESET
  148.     DISPLAY ANSI-CYAN "----------------------------------------------" ANSI-RESET
  149.     DISPLAY " "
  150.     MOVE NODE-NUMBER TO NODE-DISPLAY
  151.     MOVE TIME-LEFT   TO TIME-DISPLAY
  152.     DISPLAY "Welcome, " FUNCTION TRIM(USER-NAME) "."
  153.     DISPLAY "Node: " NODE-DISPLAY
  154.             "   Time left: " TIME-DISPLAY " minutes."
  155.     DISPLAY " ".
  156.  
  157. SHOW-QUESTION-HEADER.
  158.     DISPLAY " "
  159.     DISPLAY ANSI-CYAN "Question " QUESTION-NUMBER " of 10" ANSI-RESET
  160.     DISPLAY " ".
  161.  
  162. *> ---------------------------------------------------------
  163. *> INSTRUCTIONS
  164. *> ---------------------------------------------------------
  165. SHOW-INSTRUCTIONS.
  166.     DISPLAY ANSI-BRIGHT-YELLOW
  167.         "Would you like instructions (Q to quit)? (Y/N/Q)"
  168.         ANSI-RESET
  169.     PERFORM GET-YNQ
  170.     EVALUATE USER-CHOICE
  171.         WHEN "Q"
  172.             PERFORM GOODBYE
  173.             STOP RUN
  174.         WHEN "Y"
  175.             PERFORM CLEAR-SCREEN
  176.             PERFORM SHOW-TITLE
  177.             DISPLAY ANSI-GREEN
  178.                 "Attitude Assessment is a simple personality test."
  179.                 ANSI-RESET
  180.             DISPLAY "It consists of ten multiple-choice questions."
  181.             DISPLAY "At the end, you will see an assessment based on your score."
  182.             DISPLAY "You can press Q at any time during the test to quit."
  183.             DISPLAY " "
  184.             DISPLAY "Press ENTER to begin..."
  185.             ACCEPT USER-CHOICE
  186.         WHEN OTHER
  187.             CONTINUE
  188.     END-EVALUATE.
  189.  
  190. *> ---------------------------------------------------------
  191. *> YES/NO/QUIT INPUT
  192. *> ---------------------------------------------------------
  193. GET-YNQ.
  194.     MOVE "N" TO VALID-CHOICE
  195.     PERFORM UNTIL VALID-CHOICE = "Y"
  196.         ACCEPT USER-CHOICE
  197.         MOVE FUNCTION UPPER-CASE(USER-CHOICE) TO USER-CHOICE
  198.         IF USER-CHOICE = "Y" OR
  199.            USER-CHOICE = "N" OR
  200.            USER-CHOICE = "Q"
  201.             MOVE "Y" TO VALID-CHOICE
  202.         END-IF
  203.     END-PERFORM.
  204.  
  205. *> ---------------------------------------------------------
  206. *> QUIZ DRIVER
  207. *> ---------------------------------------------------------
  208. RUN-QUIZ.
  209.     MOVE 0 TO SCORE
  210.     MOVE 1 TO QUESTION-NUMBER
  211.  
  212.     PERFORM QUESTION-1
  213.     ADD 1 TO QUESTION-NUMBER
  214.  
  215.     PERFORM QUESTION-2
  216.     ADD 1 TO QUESTION-NUMBER
  217.  
  218.     PERFORM QUESTION-3
  219.     ADD 1 TO QUESTION-NUMBER
  220.  
  221.     PERFORM QUESTION-4
  222.     ADD 1 TO QUESTION-NUMBER
  223.  
  224.     PERFORM QUESTION-5
  225.     ADD 1 TO QUESTION-NUMBER
  226.  
  227.     PERFORM QUESTION-6
  228.     ADD 1 TO QUESTION-NUMBER
  229.  
  230.     PERFORM QUESTION-7
  231.     ADD 1 TO QUESTION-NUMBER
  232.  
  233.     PERFORM QUESTION-8
  234.     ADD 1 TO QUESTION-NUMBER
  235.  
  236.     PERFORM QUESTION-9
  237.     ADD 1 TO QUESTION-NUMBER
  238.  
  239.     PERFORM QUESTION-10.
  240.  
  241. *> ---------------------------------------------------------
  242. *> GENERAL CHOICE INPUT (A-G or Q)
  243. *> ---------------------------------------------------------
  244. GET-CHOICE.
  245.     MOVE "N" TO VALID-CHOICE
  246.     PERFORM UNTIL VALID-CHOICE = "Y"
  247.         ACCEPT USER-CHOICE
  248.         MOVE FUNCTION UPPER-CASE(USER-CHOICE) TO USER-CHOICE
  249.         IF USER-CHOICE = "Q"
  250.             PERFORM GOODBYE
  251.             STOP RUN
  252.         END-IF
  253.         IF USER-CHOICE >= "A" AND USER-CHOICE <= "G"
  254.             MOVE "Y" TO VALID-CHOICE
  255.         END-IF
  256.     END-PERFORM.
  257.  
  258. *> ---------------------------------------------------------
  259. *> QUESTIONS 1 THROUGH 4
  260. *> ---------------------------------------------------------
  261.  
  262. QUESTION-1.
  263.     PERFORM CLEAR-SCREEN
  264.     PERFORM SHOW-TITLE
  265.     PERFORM SHOW-QUESTION-HEADER
  266.     DISPLAY ANSI-CYAN "When do you feel your best?" ANSI-RESET
  267.     DISPLAY " "
  268.     DISPLAY "  A. In the morning"
  269.     DISPLAY "  B. During the afternoon and early evening"
  270.     DISPLAY "  C. Late at night"
  271.     DISPLAY " "
  272.     DISPLAY "Enter your choice (A-C) or Q to quit:"
  273.     PERFORM GET-CHOICE
  274.     EVALUATE USER-CHOICE
  275.         WHEN "A" ADD 2 TO SCORE
  276.         WHEN "B" ADD 4 TO SCORE
  277.         WHEN "C" ADD 6 TO SCORE
  278.     END-EVALUATE.
  279.  
  280. QUESTION-2.
  281.     PERFORM CLEAR-SCREEN
  282.     PERFORM SHOW-TITLE
  283.     PERFORM SHOW-QUESTION-HEADER
  284.     DISPLAY ANSI-CYAN "You usually walk:" ANSI-RESET
  285.     DISPLAY " "
  286.     DISPLAY "  A. Fairly fast with long steps"
  287.     DISPLAY "  B. Fairly fast with little steps"
  288.     DISPLAY "  C. Less fast, head up, looking straight ahead"
  289.     DISPLAY "  D. Less fast, head down"
  290.     DISPLAY "  E. Very slowly"
  291.     DISPLAY " "
  292.     DISPLAY "Enter your choice (A-E) or Q to quit:"
  293.     PERFORM GET-CHOICE
  294.     EVALUATE USER-CHOICE
  295.         WHEN "A" ADD 6 TO SCORE
  296.         WHEN "B" ADD 4 TO SCORE
  297.         WHEN "C" ADD 7 TO SCORE
  298.         WHEN "D" ADD 2 TO SCORE
  299.         WHEN "E" ADD 1 TO SCORE
  300.     END-EVALUATE.
  301.  
  302. QUESTION-3.
  303.     PERFORM CLEAR-SCREEN
  304.     PERFORM SHOW-TITLE
  305.     PERFORM SHOW-QUESTION-HEADER
  306.     DISPLAY ANSI-CYAN "When talking to people, you:" ANSI-RESET
  307.     DISPLAY " "
  308.     DISPLAY "  A. Stand with your arms folded"
  309.     DISPLAY "  B. Have your hands clasped"
  310.     DISPLAY "  C. Have one or both hands on your hips"
  311.     DISPLAY "  D. Touch or push the person you are talking to"
  312.     DISPLAY "  E. Fidget (play with your ear, smooth your hair, etc.)"
  313.     DISPLAY " "
  314.     DISPLAY "Enter your choice (A-E) or Q to quit:"
  315.     PERFORM GET-CHOICE
  316.     EVALUATE USER-CHOICE
  317.         WHEN "A" ADD 4 TO SCORE
  318.         WHEN "B" ADD 2 TO SCORE
  319.         WHEN "C" ADD 5 TO SCORE
  320.         WHEN "D" ADD 7 TO SCORE
  321.         WHEN "E" ADD 6 TO SCORE
  322.     END-EVALUATE.
  323.  
  324. QUESTION-4.
  325.     PERFORM CLEAR-SCREEN
  326.     PERFORM SHOW-TITLE
  327.     PERFORM SHOW-QUESTION-HEADER
  328.     DISPLAY ANSI-CYAN "When relaxing, you sit with:" ANSI-RESET
  329.     DISPLAY " "
  330.     DISPLAY "  A. Knees bent, legs neatly side by side"
  331.     DISPLAY "  B. Legs crossed"
  332.     DISPLAY "  C. Legs stretched out or straight"
  333.     DISPLAY "  D. One leg curled under you"
  334.     DISPLAY " "
  335.     DISPLAY "Enter your choice (A-D) or Q to quit:"
  336.     PERFORM GET-CHOICE
  337.     EVALUATE USER-CHOICE
  338.         WHEN "A" ADD 4 TO SCORE
  339.         WHEN "B" ADD 6 TO SCORE
  340.         WHEN "C" ADD 2 TO SCORE
  341.         WHEN "D" ADD 1 TO SCORE
  342.     END-EVALUATE.
  343.  
  344. *> ---------------------------------------------------------
  345. *> QUESTIONS 5 THROUGH 8
  346. *> ---------------------------------------------------------
  347.  
  348. QUESTION-5.
  349.     PERFORM CLEAR-SCREEN
  350.     PERFORM SHOW-TITLE
  351.     PERFORM SHOW-QUESTION-HEADER
  352.     DISPLAY ANSI-CYAN "When something really amuses you, you react with:" ANSI-RESET
  353.     DISPLAY " "
  354.     DISPLAY "  A. A big, appreciated laugh"
  355.     DISPLAY "  B. A soft laugh"
  356.     DISPLAY "  C. A quiet chuckle"
  357.     DISPLAY "  D. A sheepish smile"
  358.     DISPLAY " "
  359.     DISPLAY "Enter your choice (A-D) or Q to quit:"
  360.     PERFORM GET-CHOICE
  361.     EVALUATE USER-CHOICE
  362.         WHEN "A" ADD 6 TO SCORE
  363.         WHEN "B" ADD 4 TO SCORE
  364.         WHEN "C" ADD 3 TO SCORE
  365.         WHEN "D" ADD 2 TO SCORE
  366.     END-EVALUATE.
  367.  
  368. QUESTION-6.
  369.     PERFORM CLEAR-SCREEN
  370.     PERFORM SHOW-TITLE
  371.     PERFORM SHOW-QUESTION-HEADER
  372.     DISPLAY ANSI-CYAN "When you go to a party or social gathering, you:" ANSI-RESET
  373.     DISPLAY " "
  374.     DISPLAY "  A. Make a loud entrance so everyone notices you"
  375.     DISPLAY "  B. Make a quiet entrance, looking for someone you know"
  376.     DISPLAY "  C. Make the quietest entrance, trying to stay unnoticed"
  377.     DISPLAY " "
  378.     DISPLAY "Enter your choice (A-C) or Q to quit:"
  379.     PERFORM GET-CHOICE
  380.     EVALUATE USER-CHOICE
  381.         WHEN "A" ADD 6 TO SCORE
  382.         WHEN "B" ADD 4 TO SCORE
  383.         WHEN "C" ADD 2 TO SCORE
  384.     END-EVALUATE.
  385.  
  386. QUESTION-7.
  387.     PERFORM CLEAR-SCREEN
  388.     PERFORM SHOW-TITLE
  389.     PERFORM SHOW-QUESTION-HEADER
  390.     DISPLAY ANSI-CYAN "You are working very hard and you are interrupted. Do you:" ANSI-RESET
  391.     DISPLAY " "
  392.     DISPLAY "  A. Welcome the break"
  393.     DISPLAY "  B. Feel extremely irritated"
  394.     DISPLAY "  C. Vary between these two extremes"
  395.     DISPLAY " "
  396.     DISPLAY "Enter your choice (A-C) or Q to quit:"
  397.     PERFORM GET-CHOICE
  398.     EVALUATE USER-CHOICE
  399.         WHEN "A" ADD 6 TO SCORE
  400.         WHEN "B" ADD 2 TO SCORE
  401.         WHEN "C" ADD 4 TO SCORE
  402.     END-EVALUATE.
  403.  
  404. QUESTION-8.
  405.     PERFORM CLEAR-SCREEN
  406.     PERFORM SHOW-TITLE
  407.     PERFORM SHOW-QUESTION-HEADER
  408.     DISPLAY ANSI-CYAN "Which of the following colors do you like most:" ANSI-RESET
  409.     DISPLAY " "
  410.     DISPLAY "  A. Red or orange"
  411.     DISPLAY "  B. Black"
  412.     DISPLAY "  C. Yellow or light blue"
  413.     DISPLAY "  D. Green"
  414.     DISPLAY "  E. Dark blue or purple"
  415.     DISPLAY "  F. White"
  416.     DISPLAY "  G. Brown or gray"
  417.     DISPLAY " "
  418.     DISPLAY "Enter your choice (A-G) or Q to quit:"
  419.     PERFORM GET-CHOICE
  420.     EVALUATE USER-CHOICE
  421.         WHEN "A" ADD 6 TO SCORE
  422.         WHEN "B" ADD 7 TO SCORE
  423.         WHEN "C" ADD 5 TO SCORE
  424.         WHEN "D" ADD 4 TO SCORE
  425.         WHEN "E" ADD 3 TO SCORE
  426.         WHEN "F" ADD 2 TO SCORE
  427.         WHEN "G" ADD 1 TO SCORE
  428.     END-EVALUATE.
  429.  
  430. *> ---------------------------------------------------------
  431. *> QUESTIONS 9 AND 10
  432. *> ---------------------------------------------------------
  433.  
  434. QUESTION-9.
  435.     PERFORM CLEAR-SCREEN
  436.     PERFORM SHOW-TITLE
  437.     PERFORM SHOW-QUESTION-HEADER
  438.     DISPLAY ANSI-CYAN "When in bed at night, in twilight sleep, you are:" ANSI-RESET
  439.     DISPLAY " "
  440.     DISPLAY "  A. Stretched out on your back"
  441.     DISPLAY "  B. Stretched out face down on your stomach"
  442.     DISPLAY "  C. On your side, slightly curled"
  443.     DISPLAY "  D. With your head on one arm"
  444.     DISPLAY "  E. With your head under the covers"
  445.     DISPLAY " "
  446.     DISPLAY "Enter your choice (A-E) or Q to quit:"
  447.     PERFORM GET-CHOICE
  448.     EVALUATE USER-CHOICE
  449.         WHEN "A" ADD 7 TO SCORE
  450.         WHEN "B" ADD 6 TO SCORE
  451.         WHEN "C" ADD 4 TO SCORE
  452.         WHEN "D" ADD 2 TO SCORE
  453.         WHEN "E" ADD 1 TO SCORE
  454.     END-EVALUATE.
  455.  
  456. QUESTION-10.
  457.     PERFORM CLEAR-SCREEN
  458.     PERFORM SHOW-TITLE
  459.     PERFORM SHOW-QUESTION-HEADER
  460.     DISPLAY ANSI-CYAN "You often dream that you are:" ANSI-RESET
  461.     DISPLAY " "
  462.     DISPLAY "  A. Falling"
  463.     DISPLAY "  B. Fighting or struggling"
  464.     DISPLAY "  C. Searching for something or someone"
  465.     DISPLAY "  D. Flying or floating"
  466.     DISPLAY "  E. You usually have dreamless sleep"
  467.     DISPLAY "  F. Your dreams are always pleasant"
  468.     DISPLAY " "
  469.     DISPLAY "Enter your choice (A-F) or Q to quit:"
  470.     PERFORM GET-CHOICE
  471.     EVALUATE USER-CHOICE
  472.         WHEN "A" ADD 4 TO SCORE
  473.         WHEN "B" ADD 2 TO SCORE
  474.         WHEN "C" ADD 3 TO SCORE
  475.         WHEN "D" ADD 5 TO SCORE
  476.         WHEN "E" ADD 6 TO SCORE
  477.         WHEN "F" ADD 1 TO SCORE
  478.     END-EVALUATE.
  479.    
  480. *> ---------------------------------------------------------
  481. *> RESULTS
  482. *> ---------------------------------------------------------
  483. SHOW-RESULTS.
  484.     PERFORM CLEAR-SCREEN
  485.     PERFORM SHOW-TITLE
  486.     DISPLAY ANSI-BRIGHT-YELLOW "The result of your test is:" ANSI-RESET
  487.     DISPLAY " "
  488.     EVALUATE TRUE
  489.         WHEN SCORE >= 60
  490.             DISPLAY "Others see you as someone they should handle with care."
  491.             DISPLAY "You are seen as vain, self-centered and extremely dominant."
  492.             DISPLAY "Others may admire you, but they do not always trust you."
  493.         WHEN SCORE >= 51
  494.             DISPLAY "Others see you as exciting, volatile and impulsive."
  495.             DISPLAY "A natural leader who is quick to make decisions."
  496.             DISPLAY "Bold, adventurous and willing to try anything once."
  497.         WHEN SCORE >= 41
  498.             DISPLAY "Others see you as fresh, lively, charming and amusing."
  499.             DISPLAY "Often the center of attention, but well-balanced."
  500.             DISPLAY "Kind, considerate and understanding."
  501.         WHEN SCORE >= 31
  502.             DISPLAY "Others see you as sensible, cautious, careful and practical."
  503.             DISPLAY "Clever and talented, but modest."
  504.             DISPLAY "Slow to make friends, but extremely loyal."
  505.         WHEN SCORE >= 21
  506.             DISPLAY "Your friends see you as painstaking and fussy."
  507.             DISPLAY "Very cautious, extremely careful and steady."
  508.             DISPLAY "You examine everything from every angle."
  509.         WHEN OTHER
  510.             DISPLAY "People think you are shy, nervous and indecisive."
  511.             DISPLAY "Someone who prefers others to make decisions."
  512.             DISPLAY "A worrier who sees problems that may not exist."
  513.     END-EVALUATE
  514.     DISPLAY " "
  515.     DISPLAY ANSI-GREEN "Thank you for taking the Attitude Assessment!" ANSI-RESET
  516.     DISPLAY " "
  517.     DISPLAY "Press ENTER to return to the BBS..."
  518.     ACCEPT USER-CHOICE.
  519.  
  520. *> ---------------------------------------------------------
  521. *> GOODBYE
  522. *> ---------------------------------------------------------
  523. GOODBYE.
  524.     PERFORM CLEAR-SCREEN
  525.     DISPLAY ANSI-CYAN "Exiting Attitude Assessment..." ANSI-RESET
  526.     DISPLAY " "
  527.     DISPLAY "Goodbye, " FUNCTION TRIM(USER-NAME) "."
  528.     DISPLAY " ".
  529.  
Advertisement
Add Comment
Please, Sign In to add comment