1
0
mirror of https://github.com/rfivet/BCG101.git synced 2024-12-20 17:16:23 -05:00
BCG101/port/HANG.BAS

79 lines
3.6 KiB
QBasic

10 REM *** GAME OF HANGMAN BY DAVE AHL, DIGITAL
15 REM *** BASED ON A PROGRAM WRITTEN BY KEN AUPPERLE, CLASS OF '75,
20 REM *** HALF HOLLOW HILLS H.S., DIX HILLS, NY
25 PRINT"GAME OF HANGMAN"\PRINT\PRINT
30 DIM P$(12,12),L$(20),D$(20),N$(26),U(50),A(6)
40 C=1\RANDOMIZE\N=27
50 FOR I=1 TO 20\D$(I)="-"\NEXT I\M=0
60 FOR I=1 TO 26\N$(I)=""\NEXT I
70 FOR I=1 TO 12\FOR J=1 TO 12\P$(I,J)=" "\NEXT J\NEXT I
80 FOR I=1 TO 12\P$(I,1)="X"\NEXT I
90 FOR I=1 TO 7\P$(1,I)="X"\NEXT I\P$(2,7)="X"
95 IF C<N THEN 100\PRINT "YOU DID ALL THE WORDS!!"\STOP
100 Q=INT(N*RND(1)+1)
110 IF U(Q)=1 THEN 100\U(Q)=1\C=C+1\RESTORE\T1=0
150 FOR I=1 TO Q\READ A$\NEXT I
155 CHANGE A$ TO A
160 L=A(0)\A(0)=1\FOR I=1 TO L\A(1)=A(I)\CHANGE A TO L$(I)\NEXT I
170 PRINT"HERE ARE THE LETTERS YOU USED:"
180 FOR I=1 TO 26\PRINT N$(I);\IF N$(I+1)="" THEN 200
190 PRINT ",";\NEXT I
200 PRINT\PRINT\FOR I=1 TO L\PRINT D$(I);\NEXT I\PRINT\PRINT
210 PRINT "WHAT IS YOUR GUESS";\INPUT G$\R=0
220 FOR I=1 TO 26\IF N$(I)="" THEN 250
230 IF G$<>N$(I) THEN 240\PRINT "YOU GUESSED THAT LETTER BEFORE!"\GOTO 170
240 NEXT I\PRINT "PROGRAM ERROR. RUN AGAIN."\STOP
250 N$(I)=G$\T1=T1+1
260 FOR I=1 TO L\IF L$(I)=G$ THEN 280
270 NEXT I\IF R=0 THEN 290\GOTO 300
280 D$(I)=G$\R=R+1\GOTO 270
290 M=M+1\GOTO 400
300 FOR I=1 TO L\IF D$(I)="-" THEN 320
310 NEXT I\GOTO 390
320 PRINT\FOR I=1 TO L\PRINT D$(I);\NEXT I\PRINT\PRINT
330 PRINT "WHAT IS YOUR GUESS FOR THE WORD";\INPUT B$
340 IF B$=A$ THEN 360
350 PRINT"WRONG. TRY ANOTHER LETTER."\PRINT\GOTO 170
360 PRINT"RIGHT!! IT TOOK YOU"T1"GUESSES!"
370 PRINT "WANT ANOTHER WORD";\INPUT W$\IF W$="YES" THEN 50
380 PRINT\PRINT"IT'S BEEN FUN! BYE FOR NOW."\STOP
390 PRINT"YOU FOUND THE WORD!"\GOTO 370
400 PRINT\PRINT\PRINT"SORRY, THAT LETTER ISN'T IN THE WORD."
410 ON M GOTO 415,420,425,430,435,440,445,450,455,460
415 PRINT"FIRST, WE DRAW A HEAD"\GOTO 470
420 PRINT"NOW WE DRAW A BODY"\GOTO 470
425 PRINT"NEXT WE DRAW AN ARM"\GOTO 470
430 PRINT"THIS TIME IT'S THE OTHER ARM"\GOTO 470
435 PRINT"NOW, LET'S DRAW THE RIGHT LEG"\GOTO 470
440 PRINT"THIS TIME WE DRAW THE LEFT LEG"\GOTO 470
445 PRINT"NOW WE PUT UP A HAND"\GOTO 470
450 PRINT"NEXT THE OTHER HAND"\GOTO 470
455 PRINT"NOW WE DRAW ONE FOOT"\GOTO 470
460 PRINT"HERE'S THE OTHER FOOT -- YOU'RE HUNG!!"
470 ON M GOTO 480,490,500,510,520,530,540,550,560,570
480 P$(3,6)="-"\P$(3,7)="-"\P$(3,8)="-"\P$(4,5)="("\P$(4,6)="."
481 P$(4,8)="."\P$(4,9)=")"\P$(5,6)="-"\P$(5,7)="-"\P$(5,8)="-"\GOTO 580
490 FOR I=6 TO 9\P$(I,7)="X"\NEXT I\GOTO 580
500 FOR I=4 TO 7\P$(I,I-1)="\"\NEXT I\GOTO 580
510 P$(4,11)="/"\P$(5,10)="/"\P$(6,9)="/"\P$(7,8)="/"\GOTO 580
520 P$(10,6)="/"\P$(11,5)="/"\GOTO 580
530 P$(10,8)="\"\P$(11,9)="\"\GOTO 580
540 P$(3,11)="\"\GOTO 580
550 P$(3,3)="/"\GOTO 580
560 P$(12,10)="\"\P$(12,11)="-"\GOTO 580
570 P$(12,3)="-"\P$(12,4)="/"
580 FOR I=1 TO 12\FOR J=1 TO 12\PRINT P$(I,J);\NEXT J
590 PRINT\NEXT I\PRINT\PRINT\IF M=10 THEN 600\GOTO 170
600 PRINT"SORRY, YOU LOSE. THE WORD WAS "A$
610 PRINT"YOU MISSED THAT ONE. DO YOU "\GOTO 370
700 DATA "GUM","SIN","FOR","CRY","LUG","BYE","FLY"
710 DATA "UGLY","EACH","FROM","WORK","TALK","WITH","SELF"
720 DATA "PIZZA","THING","FEIGN","FIEND","ELBOW","FAULT","DIRTY"
730 DATA "BUDGET","SPIRIT","QUAINT","MAIDEN","ESCORT","PICKAX"
740 DATA "EXAMPLE","TENSION","QUININE","KIDNEY","REPLICA","SLEEPER"
750 DATA "TRIANGLE","KANGAROO","MAHOGANY","SERGEANT","SEQUENCE"
760 DATA "MOUSTACHE","DANGEROUS","SCIENTIST","DIFFERENT","QUIESCENT"
770 DATA "MAGISTRATE","ERRONEOUSLY","LOUDSPEAKER","PHYTOTOXIC"
780 DATA "MATRIMONIAL","PARASYMPATHOMIMETIC","THIGMOTROPISM"
999 END