home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / INFO / BASIC / FRIENDLY.ZIP / HANGMAN.001 < prev    next >
Encoding:
Text File  |  1988-10-13  |  8.1 KB  |  96 lines

  1. 10 LOCATE ,,0:SCREEN 0,0,0:ON KEY(10) GOSUB 610:KEY(10) ON:DEFINT A-T:DEFSTR U,W:DIM WORD(100),A(100),USED(27):GOSUB 820:FOR B=0 TO 100:READ WORD(B):NEXT:GOSUB 520
  2. 20 CLS:LOCATE 1,33:PRINT"H A N G M A N":FOR C=1 TO 27:USED(C)="":NEXT:A=A+1:CHANCE=0:RANDOMIZE(VAL(RIGHT$(TIME$,2)))
  3. 30 B=RND(1)*100:A(A)=B:FOR C=0 TO A-1:IF A(C)=B THEN 30 ELSE NEXT:L=LEN(WORD(B)):WORD=SPACE$(L):WH1=SPACE$(L):X=1
  4. 40 LOCATE 10,30:FOR C=1 TO L:IF MID$(WORD,C,1)=" " THEN PRINT"- "; ELSE PRINT MID$(WORD,C,1)" ";
  5. 50 NEXT:XLIN=CSRLIN:YPOS=POS(0):GOSUB 630:COLOR 0,7:LOCATE 4,23:PRINT" These Are The Letters You Have Used ":COLOR 3,0:LOCATE 6,25:FOR C=1 TO X:PRINT USED(C)" ";:NEXT:LOCATE 8,30:PRINT"This Is Your Word:
  6. 60 COLOR 15,0:LOCATE 12,28,1:PRINT"Please Guess A Letter";:COLOR 3,0:GOSUB 600
  7. 70 IF W=>"A" AND W=<"Z" THEN FOR G=1 TO X:IF W=USED(G) THEN 190 ELSE NEXT ELSE 170
  8. 80 LOCATE 10,28,0:FLAG=0:FOR G=1 TO L:IF W=MID$(WORD(B),G,1) THEN FLAG=1:LOCATE 10,28+2*G:PRINT MID$(WORD(B),G,1);:MID$(WORD,G,1)=MID$(WORD(B),G,1):IF WORD=WORD(B) THEN 130
  9. 90 NEXT:USED(X)=W:X=X+1:IF FLAG=0 THEN GOSUB 200:IF CHANCE=10 THEN 140 ELSE 40
  10. 100 FLAG=0:LOCATE 12,1:PRINT SPC(79):COLOR 15,0:LOCATE 24,20:PRINT"Enter Your Guess And Then Strike Enter Key";:COLOR 31,0:LOCATE 21,20,1:PRINT"What Do You Think The Word Is? ";:COLOR 7,0:GOSUB 850
  11. 110 WH=WA:COLOR 3,0:IF WH=WORD(B) THEN 130
  12. 120 LOCATE 24,1:PRINT SPC(79);:LOCATE 22,30:PRINT"Nice Try. But No Cigar !!":LOCATE 21,1:PRINT STRING$(80,32);:FOR G=1 TO 2000:NEXT:LOCATE 22,1:PRINT STRING$(80,32);:GOTO 40
  13. 130 PLAY "T140"+"MN"+"MB":PLAY "MB O2"+"G4. A4 B8 O3 C4.O2 B4 A8 G4 A8 G4 E8 D4. C4.":PLAY "MB O2"+"G4. A4 B8 O3 C4.O2 B4 A8 G4 A8 G4 E8 D4. C4.":GOSUB 680:LOCATE 23,19:PRINT" You Guessed It !!!!     In "X-1"Tries":COLOR 0,7
  14. 140 LOCATE 25,20:PRINT" Would You Like To Try Another Word? <Y/N> ";:COLOR 3,0
  15. 150 GOSUB 600:IF W="Y" THEN 20 ELSE IF W<>"N" THEN 150
  16. 160 CLS:LOCATE 10,22:PRINT"Thank You For Playing H A N G M A N":GOTO 650
  17. 170 LOCATE 12,23:PRINT"Invalid REPLY. Please Try Again.";
  18. 180 FOR G=1 TO 4500:NEXT:LOCATE 12,1:PRINT SPC(70):GOTO 60
  19. 190 LOCATE 12,16:PRINT"You Have Already Used That Letter. Please Try Again.":GOTO 180
  20. 200 CHANCE=CHANCE+1:CLS:COLOR 15,0:ON CHANCE GOTO 310,300,290,280,270,260,250,240,230
  21. 210 GOSUB 480
  22. 220 GOSUB 400
  23. 230 GOSUB 390
  24. 240 GOSUB 440
  25. 250 GOSUB 430
  26. 260 GOSUB 420
  27. 270 GOSUB 410
  28. 280 GOSUB 380
  29. 290 GOSUB 370
  30. 300 GOSUB 360
  31. 310 GOSUB 350:COLOR 3,0
  32. 320 IF CHANCE=10 THEN GOSUB 450
  33. 330 FOR C=1 TO 3500:NEXT:IF CHANCE<10 THEN CLS
  34. 340 RETURN
  35. 350 COLOR 15,0:LOCATE 3,35:PRINT"┌─────┐":LOCATE 4,35:PRINT"│ "CHR$(1)" "CHR$(1)" │":LOCATE 5,35:PRINT"│  Ω  │":LOCATE 6,35:PRINT"│ ═══ │":LOCATE 7,35:PRINT"└─────┘":COLOR 3,0:RETURN
  36. 360 COLOR 2,0:LOCATE 8,33:PRINT"▄▄▄▄███▄▄▄▄":LOCATE 9,32:PRINT"░░░░░░░░░░░░░":FOR C=10 TO 13:LOCATE C,35:PRINT STRING$(7,176):NEXT:LOCATE 14,35:PRINT"░░░░░░░":LOCATE 15,36:PRINT"█████":COLOR 3,0:RETURN
  37. 370 COLOR 5,0:FOR C=16 TO 19:LOCATE C,36:PRINT"██":NEXT:RETURN
  38. 380 COLOR 5,0:FOR C=16 TO 19:LOCATE C,39:PRINT"██":NEXT:RETURN
  39. 390 COLOR 4,0:LOCATE 20,39:PRINT"░░░░":COLOR 3,0:RETURN
  40. 400 COLOR 4,0:LOCATE 20,34:PRINT"░░░░":COLOR 3,0:RETURN
  41. 410 COLOR 14,0:LOCATE 10,31:PRINT"▒▒":LOCATE 11,30:PRINT"▒▒":LOCATE 12,29:PRINT"▒▒":COLOR 3,0:RETURN
  42. 420 COLOR 14,0:LOCATE 10,44:PRINT"▒▒":LOCATE 11,45:PRINT"▒▒":LOCATE 12,46:PRINT"▒▒":COLOR 3,0:RETURN
  43. 430 COLOR 7,0:LOCATE 13,28:PRINT"███":COLOR 3,0:RETURN
  44. 440 COLOR 7,0:LOCATE 13,46:PRINT"███":COLOR 3,0:RETURN
  45. 450 LOCATE 2,38:PRINT"║":LOCATE 3,38:PRINT"╨"
  46. 460 PLAY "T120"+"MN"+"MB":PLAY "O3L8C.L16C"+"L2F.L8C.L16F":PLAY "L2A.L8C.L16F"+"L4A"+"L8C."+"L16F"+"L4A"+"L8C."+"L16F"+"L2A.":PLAY "O3"+"L8F.L16A"+"ML"+"O4L2C"+"MN"+"O3L4AL4FL2C.":PLAY "O3L8C.L16C"+"ML"+"L1F"+"MN"+"L4F"
  47. 470 FOR C=1 TO 1200:NEXT:FOR C=50 TO 200 STEP 1:SOUND C,.0001:NEXT:SOUND C,0:LOCATE 21,31:PRINT SPC(20):RETURN
  48. 480 LOCATE 1,15:PRINT STRING$(25,178):LOCATE 2,15:PRINT STRING$(5,178):FOR C=3 TO 20:LOCATE C,15:PRINT STRING$(4,178):NEXT:LOCATE 21,5:PRINT STRING$(40,178):FOR C=22 TO 23:LOCATE C,5:PRINT STRING$(4,178)SPC(15)STRING$(4,178):NEXT:COLOR 3,0:RETURN
  49. 490 DATA BUG,PRINTER,GAME,ELBOW,PIZZA,BUDGET,CRY,THING,FEIGN,CARD,TALK,EXAMPLE,TENSION,CALCULATOR,SHOE,TABLE,STEREO,BICYCLE,GUESS,BLENDER,FAULT,DIRTY,LOUDSPEAKER,CHICKEN,DANGEROUS,DIFFERENT,SCIENTIST,KIDNEY,SELF,MAHOGANY,UGLY,FRIENDLYWARE,PROGRAM,OPERA
  50. 500 DATA MUSIC,REPLICA,COMPUTER,BABOON,CHIMPANZEE,CHAIR,HORSE,FELLOW,AUTOMOBILE,KIDNAP,LAMP,LIGHT,FREEZER,FRY,SKATE,ERRONEOUSLY,SEQUENCE,AFTER,HIGHWAY,POLICE,ART,CRIED,FLY,AIRPLANE,SAILBOAT,HOUSE,DRIVEWAY,FENCE,HOTEL,MOTEL,SWIM,OCEAN,LAKE
  51. 510 DATA DRIVE,ICE,SNOW,CATCH,FALL,WALL,FLOOR,ESCAPE,MASTER,CHECK,FILE,JUMP,CEMENT,ASPHALT,BRICK,MAILBOX,TRUCK,THUNDER,LIGHTNING,RAIN,ADVENTURE,BUS,TOWER,SKYSCRAPER,LAWN,ELEPHANT,CIRCUS,SCARY,KILLED,BABY,PUPPIES,CHURCH,STORE,STREET
  52. 520 CLS:COLOR 15,0:LOCATE 1,1:PRINT"╔"STRING$(78,205)"╗":FOR A=2 TO 22:LOCATE A,1:PRINT"║":LOCATE A,80:PRINT"║";:NEXT:LOCATE 23,1:PRINT"╚"STRING$(78,205)"╝";:LOCATE 2,34:PRINT"H A N G M A N"
  53. 530 LOCATE 9,24:PRINT"Would You Like Instructions? <Y/N>  ":COLOR 3,0
  54. 540 GOSUB 600:IF W="N" OR W="n" THEN RETURN ELSE IF W<>"Y" AND W<>"y" THEN 540
  55. 550 LOCATE 4,17:PRINT"In this game of HANGMAN I will select a secret":LOCATE 5,17:PRINT"word. It is your problem to guess this word in":LOCATE 6,17:PRINT"TEN tries or less. You do this by guessing one
  56. 560 LOCATE 7,17:PRINT"letter at a time. If the letter that you guess":LOCATE 8,17:PRINT"is in the word,  I will put it in the position":LOCATE 9,17:PRINT"that it belongs,  and allow you to guess  what
  57. 570 LOCATE 10,17:PRINT"the secret word is. If the letter you guess is":LOCATE 11,17:PRINT"not part of the secret  word,  another part of":LOCATE 12,17:PRINT"the man will be added. You will have ten wrong
  58. 580 LOCATE 13,17:PRINT"guesses  before  your man is hung.  If you are":LOCATE 14,17:PRINT"able to guess the secret word, the man gets to":LOCATE 15,17:PRINT"go free! It's up to you.":LOCATE 18,29:PRINT"GOOD LUCK AND HAVE FUN
  59. 590 COLOR 15,0:LOCATE 25,27:PRINT"Strike Any Key To Continue";:COLOR 3,0:W=INKEY$:IF W<>"" THEN 600
  60. 600 W=INKEY$:IF W="" THEN 600 ELSE IF W<"a" OR W>"z" THEN RETURN ELSE W=CHR$(ASC(W)-32):RETURN
  61. 610 KEY(10) OFF:XLIN=CSRLIN:YPOS=POS(0):LOCATE 25,1:PRINT SPC(79);:LOCATE 25,23:COLOR 15,0:PRINT"Do You Wish To Leave This Game? <Y/N>";:COLOR 3,0
  62. 620 GOSUB 600:IF W<>"N" THEN 640 ELSE W=""
  63. 630 LOCATE 25,1:PRINT SPC(79);:LOCATE 25,25:COLOR 0,7:PRINT" Strike <F10> To Leave This Game ";:COLOR 3,0:LOCATE XLIN,YPOS:KEY(10) ON:RETURN
  64. 640 IF W<>"Y" THEN 620
  65. 650 ON ERROR GOTO 660:RUN"MENU1.001"
  66. 660 ON ERROR GOTO 670:RUN"MENU2.002"
  67. 670 RUN"MENU3.003"
  68. 680 CLS:GOSUB 820
  69. 690 GOSUB 400
  70. 700 GOSUB 390
  71. 710 GOSUB 440
  72. 720 GOSUB 430
  73. 730 GOSUB 420
  74. 740 GOSUB 410
  75. 750 GOSUB 380
  76. 760 GOSUB 370
  77. 770 GOSUB 360
  78. 780 GOSUB 350
  79. 790 COLOR 15,0:LOCATE 6,35,0:PRINT"│ \=/ │":COLOR 6,0
  80. 800 FOR A=1 TO 12:LOCATE 9,45:PRINT X$(0):LOCATE 9,32:PRINT X1$(0):LOCATE 9,45:PRINT X$(1):LOCATE 9,32:PRINT X1$(1):LOCATE 9,45:PRINT Y$(1):LOCATE 9,32:PRINT Y1$(1):LOCATE 9,45:PRINT X$(2):LOCATE 9,32:PRINT X1$(2):LOCATE 9,45:PRINT Y$(2)
  81. 810 LOCATE 9,32:PRINT Y1$(2):LOCATE 9,45:PRINT X$(1):LOCATE 9,32:PRINT X1$(1):LOCATE 9,45:PRINT Y$(1):LOCATE 9,32:PRINT Y1$(1):GOSUB 410:GOSUB 420:GOSUB 430:GOSUB 440:NEXT:LOCATE ,,1:RETURN
  82. 820 X$(1)="▒▒▒▒▒▒▒▒▒███":Y$(1)="            ":X1$(1)=STRING$(12,29)+"███▒▒▒▒▒▒▒▒▒":Y1$(1)=STRING$(12,29)+"            ":W=CHR$(30)+CHR$(29):X$(2)="▒"+W+"▒▒"+W+"▒▒"+W+"▒▒"+W+CHR$(29)+"███":Y$(2)=" "+W+"  "+W+"  "+W+"  "+W+CHR$(29)+"   "
  83. 830 W=CHR$(30)+STRING$(3,29):X1$(2)=CHR$(29)+"▒"+W+" ▒▒"+W+"▒▒"+W+"▒▒"+W+"███":Y1$(2)=CHR$(29)+" "+W+"   "+W+"  "+W+"  "+W+CHR$(29)+"    ":W=CHR$(31)+CHR$(29):X$(0)=W+"  "+W+"  "+W+"  "+W+CHR$(29)+"   ":W=CHR$(31)+STRING$(4,29)+"    "
  84. 840 X1$(0)=CHR$(28)+W+W+W+CHR$(29)+W:RETURN
  85. 850 WH="":IF INKEY$<>"" THEN 850
  86. 860 WI=INKEY$:IF WI="" THEN 860
  87. 870 IF WI=CHR$(13) THEN WA=SPACE$(LEN(WORD(B))):LSET WA=WH:RETURN
  88. 880 IF WI=CHR$(8) THEN 940
  89. 890 IF LEN(WI)>1 THEN IF RIGHT$(WI,1)=CHR$(75) THEN 940 ELSE 860
  90. 900 IF LEN(WH)>LEN(WORD(B)) THEN 860
  91. 910 IF WI<"a" OR WI>"z" THEN 930
  92. 920 WI=CHR$(ASC(WI)-32)
  93. 930 WH=WH+WI:PRINT WI;:GOTO 860
  94. 940 IF LEN(WH)<1 THEN 860
  95. 950 PRINT CHR$(29)" "CHR$(29);:WH=LEFT$(WH,LEN(WH)-1):GOTO 860
  96.