10  REM **HANGMN**  MULTI-LANGUAGE HANGMAN GAME
20  REM AUTHOR: LOWELL VON EGGER   02/16/73
30  FILES *
40  DIM B$[27],W$[14],P$[14],U$[27],W[100],G$[4]
50  Z=D=0
60  PRINT '10"DO YOU WANT INSTRUCTIONS (YES OR NO)";
70  INPUT B$
80  IF B$="NO" THEN 220
90  IF B$#"YES" THEN 60
100  PRINT '10"      THIS IS THE GAME OF HANGMAN. YOU CHOSE THE"
110  PRINT "LANGUAGE THAT YOU WANT TO PLAY IN, AND I THINK"
120  PRINT "OF A WORD IN THAT LANGUAGE. YOU TRY TO GUESS, LETTER"
130  PRINT "BY LETTER, WHAT THE WORD IS. SIMPLE HUH?"
140  PRINT "      WHEN I THINK OF A WORD, I WILL PRINT A LINE OF"
150  PRINT "DASHES WHICH CORRESPONDS TO THE NUMBER OF LETTERS IN"
160  PRINT "THE WORD."
170  PRINT "      IF YOU GIVE UP, TYPE 'GIVE'. IF YOU WANT TO QUIT,"
180  PRINT "SIMPLY TYPE 'QUIT'."
190  PRINT "     A FEW SPECIAL INSTRUCTIONS:"
200  PRINT "SPANISH - THE ' IS COUNTED AS ONE LETTER, AND THE"
210  PRINT "          -CH- IS COUNTED AS TWO."
220  PRINT '10"IN WHAT LANGUAGE WOULD YOU LIKE TO PLAY?"
230  PRINT "(ENGLISH, FRENCH, SPANISH, OR GERMAN)"
240  B$="*"
250  INPUT B$
260  ASSIGN B$[1,6],1,A
270  IF A#3 THEN 300
280  PRINT "THE ";B$;" LANGUAGE IS NOT AVAILABLE.  TRY AGAIN."
290  GOTO 230
300  PRINT '10"HAVE FUN!!"
310  READ #1;M1
320  Z=Z+1
330  IF Z>M1 THEN 1340
340  W=INT(M1*RND(1)+1)
350  FOR A=1 TO Z-1
360  IF W[A]=W THEN 340
370  NEXT A
380  W[Z]=W
390  P=M=0
400  READ #1,1;M1
410  FOR A=1 TO W
420  READ #1;W$
430  NEXT A
440  P$=""
450  FOR A=1 TO LEN(W$)
460  P$[A,A]="-"
470  NEXT A
480  PRINT "THE WORD IS ";P$
490  B$="ABCDEFGHIJKLMNOPQRSTUVWXYZ'"
500  U$=""
510  PRINT '10'10"YOUR GUESS?";
520  R=0
530  ENTER 30,A,G$
540  PRINT 
550  IF G$="GIVE" THEN 1100
560  IF G$="QUIT" THEN 1310
570  G$=G$[1,1]
580  IF A#-256 THEN 610
590  PRINT '7'7'7'7'7'7"HURRY UP!"
600  GOTO 510
610  FOR A=1 TO 27
620  IF G$=B$[A,A] THEN 660
630  NEXT A
640  PRINT "THAT IS NOT A VALID CHARACTER."
650  GOTO 510
660  C=A
670  FOR A=1 TO LEN(U$)
680  IF G$=U$[A,A] THEN 710
690  NEXT A
700  GOTO 730
710  PRINT "YOU HAVE ALREADY USED THAT LETTER. GUESS AGAIN."
720  GOTO 510
730  U$[A,A]=G$
740  FOR A=1 TO LEN(W$)
750  IF G$=W$[A,A] THEN 1120
760  NEXT A
770  IF R#0 THEN 1170
780  PRINT "WRONG."
790  M=M+1
800  PRINT '10"--------"'13'10"I      I"
810  PRINT "I      O"
820  GOTO M OF 1030,840,860,880,900
830  GOTO 920
840  PRINT "I      I"
850  GOTO 930
860  PRINT "I     /I"
870  GOTO 930
880  PRINT "I     /I"'92
890  GOTO 930
900  PRINT "I    "'92"/I"'92
910  GOTO 930
920  PRINT "I    "'92"/I"'92"/"
930  IF M<7 THEN 1030
940  PRINT "I      I"
950  GOTO M-6 OF 1030,960,980,1000,1020
960  PRINT "I     /"
970  GOTO 1030
980  PRINT "I     / "'92
990  GOTO 1030
1000  PRINT "I    "'92"/ "'92
1010  GOTO 1030
1020  PRINT "I    "'92"/ "'92"/"
1030  FOR A=1 TO 5-P
1040  PRINT "I"
1050  NEXT A
1060  PRINT "------------"'13'10"IIIIIIIIIIII"'13'10"------------"
1070  IF M#1 AND M#6 AND M#7 THEN 1090
1080  P=P+1
1090  IF M<11 THEN 1240
1100  PRINT "YOU HAVE JUST BEEN HUNG."
1110  GOTO 1220
1120  IF R=1 THEN 1140
1130  PRINT "RIGHT!"'7
1140  P$[A,A]=G$
1150  R=1
1160  GOTO 760
1170  FOR A=1 TO LEN(P$)
1180  IF P$[A,A]="-" THEN 1240
1190  NEXT A
1200  PRINT '7'7"Y"'7"O"'7"U"'7" "'7"G"'7"O"'7"T"'7" "'9"I"'7"T"'7"!"'7"!"
1210  D=D+1
1220  PRINT "THE WORD WAS ";W$
1230  GOTO 1270
1240  PRINT "THE WORD IS ";P$
1250  PRINT "YOU HAVE USED ";U$
1260  GOTO 510
1270  PRINT "WOULD YOU LIKE TO PLAY AGAIN (YES OR NO)";
1280  INPUT B$
1290  IF B$="YES" THEN 320
1300  IF B$#"NO" THEN 1270
1310  PRINT "YOU TOOK";LEN(U$);"GUESSES."
1320  PRINT "YOU WERE HUNG";Z-D;"TIME(S)."
1330  GOTO 1370
1340  PRINT "SORRY, BUT I'M OUT OF WORDS. IF YOU WANT TO START"
1350  PRINT "OVER, RERUN THE PROGRAM. THE WORDS WILL BE THE SAME,"
1360  PRINT "BUT THEY WILL BE IN A DIFFERENT ORDER."
1370  PRINT "COME AGAIN SOON... IT WAS FUN!"
1380  END 
