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