File: HANGMN.FC of Tape: Sources/Focal/fc3
(.FC,.FO Focal format converted to 'WRITE' listing) 

C-PS/8 FOCAL, 1971

01.01 C     HANGMN BY TOM KLOOS
01.02 C     OMSI SOFTWARE DEVELOPMENT GROUP
01.03 C     LAST CHANGE: 9/9/71
01.04 C
01.05 C     THIS PROGRAM PLAYS THE GAME OF HANGMAN ON AN ORDINARY
01.06 C TELETYPE.  IT WILL CHOOSE A WORD AUTOMATICALLY AND AT 
01.07 C RANDOM AND ASK YOU TO GUESS LETTERS.  YOU GET ONLY 7 WRONG
01.08 C GUESSES AND THEN YOUR MAN IS HUNG.  NO PICTURE IS DRAWN BY
01.09 C THIS PROGRAM.
01.10 
01.11 I ((#/7)-FITR(#/7)) 1.12,2.05,1.12
01.12 T !"YOU DO NOT HAVE ENOUGH FEATURES.",!
01.13 T "RESTART FOCAL WITH FEATURE 4.",!;Q

02.05 T !"PLEASE WAIT AS THE COMPUTER DECIDES ON A WORD."!!!
02.10 O I HANGWD;T !;E
02.15 S A=FITR(FRAN()*80+1)
02.20 S Y=FIN();I (160-Y)2.2,2.25,2.2
02.25 S B=B+1; I (B-A)2.2
02.27 S C=C+1
02.30 S D(C)=FIN()
02.35 I (D(C)-160)2.37,2.5
02.37 I (D(C)-187)2.4,2.5
02.40 I (D(C)-141)2.45,2.3
02.45 I (D(C)-138)2.27,2.3,2.27
02.50 I (B-A)2.25
02.55 S C=C-1;O I TTY:,E
02.65 F Z=1,C;S E(Z)=173
02.80 T "THE WORD HAS ", %3,C," LETTERS."!!!
02.85 S G=0

03.10 S G=G+1
03.15 T !, "WHAT IS GUESS #",G," ? "
03.20 S H=FIN();I (H-141)3.25,3.15
03.25 S Z=FIN();IF (Z-141)3.3,3.4
03.30 I (Z-223)3.35,3.2
03.35 I (Z-255)3.25;T "\";G 3.2
03.40 I (218-H)3.45;I (193-H)3.5,3.5
03.45 T !"**ILLEGAL INPUT"!!;G 3.15
03.50 T !;S I=0
03.55 F Z=1,C;D 5
03.57 I (K-C)3.6,3.83,3.6
03.60 I (I-2)3.65,3.7
03.65 I (I)3.65,3.75,4.1
03.70 T "YOU HAVE ALREADY GUESSED THAT LETTER.."!;G 3.15
03.75 T " WRONG!"!;S J=J+1;S T(J)=H;I (J-7)4.1,4.1
03.80 T !!" YOU HAVE HUNG YOUR MAN!  "!
03.81 T "THE WORD WAS:  ";D 8;T !!!;G 10.1
03.83 I (-J) 3.86;T !!"FNTASTIC!! NOT ONE WRONG.  "
03.84 T "YOU HAVE EASILY SAVED"!;G 3.87
03.86 T !!"CONGRATULATIONS!!  YOU HAVE GUESSED THE WORD AND SAVED"!
03.87 T "YOUR MAN FROM THE GALLOWS."!
03.88 T "AS YOU KNOW THE WORD WAS:  ";D 8
03.90 T !!!;G 10.1

04.10 T !"  ";D 6
04.15 I (J),4.25;T "      WRONG GUESSES:  ";D 7;G 3.1
04.25 T "      NO WRONG GUESSES",!;G 3.1

05.10 I (H-D(Z))5.15,5.2
05.15 R
05.20 I (E(Z)-D(Z))5.25,5.3,5.25
05.25 S E(Z)=D(Z);S I=1;S K=K+1
05.26 R
05.30 S I=2;R

06.10 F Z=1,C;S Y=FOUT(E(Z))
06.15 R

07.10 F Z=1,J;S Y=FOUT(160);S Y=FOUT(T(Z))
07.15 R

08.10 F Z=1,C;S Y=FOUT(D(Z))
08.15 R

10.10 Q