home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / mbug / mbug044.arc / HANGMAN2.BAS < prev    next >
BASIC Source File  |  1979-12-31  |  6KB  |  185 lines

  1. 100 PRINT:PRINT:PRINT:PRINT "HELLO.  WHAT IS YOUR NAME";:INPUT N$
  2. 110 PRINT "HI ";N$;".  THIS IS THE GAME KNOWN AS HANGMAN. DO YOU KNOW"   
  3. 120 PRINT "HOW TO PLAY ";:INPUT Y$   
  4. 130 IF Y$="YES" THEN 210  
  5. 140 IF Y$ ="NO" THEN160   
  6. 150 PRINT "JUST A YES OR NO WILL DO JUST FINE HERE. ";:INPUT Y$:GOTO130   
  7. 160 PRINT "I THINK OF A WORD, AND YOU GUESS THE LETTERS IN THE WORD."
  8. 170 PRINT "YOU HAVE 10 GUESSES. IF YOU GUESS THE CORRECT WORD, YOU"  
  9. 180 PRINT "WIN.  IF NOT, YOU HANG.  CORRECT LETTER GUESSES WILL NOT AFFECT"  
  10. 190 PRINT "YOUR COUNTER.  YOU MAY SURRENDER AT ANY TIME BY TYPING IN AN" 
  11. 200 PRINT "ASTERISK (*). WE ARE NOW READY TO BEGIN." 
  12. 210 PRINT "THIS IS THE AVERAGE VOCABULARY GAME":PRINT:PRINT  
  13. 220 DIM V(20)   
  14. 230 DIM B(20)   
  15. 240 DIMC$(20),G$(20),B$(40) 
  16. 250 DIM F(10),O$(10),Q$(20) 
  17. 260 DIM A(20),H(1)  
  18. 270 DIM W$(20)  
  19. 280 PRINT "LET'S PLAY HANGMAN." 
  20. 290 GOSUB 1450  
  21. 300 PRINT L$
  22. 310 W7$="IES"   
  23. 320 L7$="S."
  24. 330 H(0)=1  
  25. 340 RESTORE 
  26. 350 FOR I=1 TO 10: READ F(I):NEXT   
  27. 360 FOR I=1 TO 10: READ O$(I):NEXT  
  28. 370 READ N9 
  29. 380 LET N=0 
  30. 390 Q=0 
  31. 400 N2 = 0  
  32. 410 FOR J = 1 TO 20 
  33. 420 Q$(J) = " " 
  34. 430 NEXT J  
  35. 440 I=INT(N9*RND(1)+1)  
  36. 450 FOR J=1 TO I
  37. 460 READ A$ 
  38. 470 NEXT J 
  39. 480 A=LEN(A$)  
  40. 490 FOR I = 1 TO A 
  41. 500 G$(I)=MID$(A$,I,1) 
  42. 510 W$(I)=G$(I)
  43. 520 NEXT I 
  44. 530 A=LEN(A$)  
  45. 540 FOR J=1 TO 20  
  46. 550 C$(J)="-"  
  47. 560 NEXT J 
  48. 570 X=10   
  49. 580 N=1
  50. 590 N1=0   
  51. 600 REM DON"T PRINT GUESSES
  52. 610 IF Q=1 THEN 670   
  53. 620 PRINT "THE WORD IS ";  
  54. 630 FOR J=1 TO A   
  55. 640 PRINT C$(J);" ";   
  56. 650 NEXT J 
  57. 660 PRINT L$   
  58. 670 Q=0
  59. 680 PRINT "GUESS"; 
  60. 690 INPUT G1$  
  61. 700 IF G1$="*" THEN 1260   
  62. 710 IF G1$=A$ THEN 1240
  63. 720 FOR K=1 TO A   
  64. 730 IF G1$=G$(K) THEN 890 
  65. 740 NEXT K 
  66. 750 FOR L=1 TO N   
  67. 760 IF G1$><B$(L) THEN 790
  68. 770 PRINT "NO...YOU TRIED THIS BEFORE."
  69. 780 GOTO 810 
  70. 790 NEXT L 
  71. 800 PRINT "NO" 
  72. 810 X = X - 1  
  73. 820 N2 = N2 + 1
  74. 830 Q=1
  75. 840 Q$(F(N2))=O$(N2)   
  76. 850 IF X=0 THEN 1200   
  77. 860 GOSUB 1440 
  78. 870 GOSUB 1000 
  79. 880 GOTO 970 
  80. 890 PRINT "HEY, THAT""S RIGHT!!!!!"
  81. 900 FOR L=K TO A   
  82. 910 IF G$(L)><G1$ THEN 950
  83. 920 C$(L)=G1$  
  84. 930 G$(L)="=,$*):" 
  85. 940 N1=N1+1
  86. 950 NEXT L 
  87. 960 GOSUB 1000 
  88. 970 IF N1=A THEN 1240  
  89. 980 IF X=0 THEN 1200   
  90. 990 GOTO 600 
  91. 1000 V=LEN(G1$) 
  92. 1010 IF V<1 THEN 1140   
  93. 1020 N = N + 1  
  94. 1030 LET B(N)=ASC(G1$)  
  95. 1040 B$(N)=G1$  
  96. 1050 FOR I=1 TO N-1 
  97. 1060 IF B(N-I+1)>=B(N-I) THEN 1130  
  98. 1070 G1$=B$(N-I)
  99. 1080 B$(N-I)=B$(N-I+1)  
  100. 1090 B$(N-I+1)=G1$  
  101. 1100 A5=B(N-I)  
  102. 1110 B(N-I)=B(N-I+1)
  103. 1120 B(N-I+1)=A5
  104. 1130 NEXT I 
  105. 1140 PRINT "YOU HAVE USED ";
  106. 1150 FOR L=1 TO N   
  107. 1160 PRINT B$(L);   
  108. 1170 NEXT L 
  109. 1180 PRINT ". ";
  110. 1190 RETURN 
  111. 1200 PRINT "YOU HAVE BEEN HUNG!"
  112. 1210 L8=L8+1
  113. 1220 GOSUB 1440 
  114. 1230 GOTO 1260 
  115. 1240 PRINT "YOU WIN"
  116. 1250 W8=W8+1
  117. 1260 PRINT "THE WORD WAS "; 
  118. 1270 FOR J=1 TO A   
  119. 1280 PRINT W$(J);   
  120. 1290 NEXT J 
  121. 1300 REM
  122. 1310 PRINT:PRINT "DO YOU WANT TO TRY ANOTHER WORD ";N$;"."  
  123. 1320 INPUT T$   
  124. 1330 IF T$="YES" THEN 340   
  125. 1340 PRINT L$   
  126. 1350 IF W8<>1 THEN 1370 
  127. 1360 W7$="Y"
  128. 1370 IF L8<>1 THEN 1390 
  129. 1380 L7$="."
  130. 1390 PRINT "WELL ";N$;"YOU RETIRE WITH A RECORD OF";W8;"VICTOR";W7$;" AND"; 
  131. 1400 PRINT L8;"DEFEAT";L7$  
  132. 1410 IF W8>0 THEN 1420  
  133. 1420 PRINT "THANKS FOR PLAYING THE AVERAGE LEVEL OF HANGMAN."   
  134. 1430 END
  135. 1440 IF X>0 THEN 1570   
  136. 1450 PRINT "-----"  
  137. 1460 PRINT "I   I"  
  138. 1470 FOR I = 1 TO 4 
  139. 1480 PRINT "I ";
  140. 1490 FOR J = 1 TO 5 
  141. 1500 PRINT Q$(5*(I-1)+J);   
  142. 1510 NEXT J 
  143. 1520 PRINT L$   
  144. 1530 NEXT I 
  145. 1540 PRINT "I"  
  146. 1550 PRINT "--------"   
  147. 1560 RETURN 
  148. 1570 PRINT "YOU HAVE ";X;" MORE GUESSES."   
  149. 1580 RETURN 
  150. 1590 DATA 3,8,14,12,7,9,16,20,1,5   
  151. 1600 DATA "0","I","\","/","-","-","-","-","\","/"   
  152. 1610 DATA 180   
  153. 1620  DATA ABATE,ABERRATION,ABET,ABEYANCE,ABSTEMIOUS,ABSTRUSE:  
  154. 1630  DATA ACRIMONIOUS,ACUMEN,ADAMANT,AESTHETIC,AFFABLE,AGGRAVATE:  
  155. 1640  DATA AGNOSTIC,ALACRITY,ALLEGORY,ALLEVIATE,ALTERCATION,ALTRUISTIC: 
  156. 1650  DATA AMITY,ANACHRONISM,ANALOGY,ANATHEMA,APATHY,APOSTATE:  
  157. 1660  DATA APT,ARBITRARY,ASCETIC,ASKANCE,ASKEW,ASPERITY:
  158. 1670  DATA ASSIDUOUS,ASSUAGE,ATAVISM,AUGMENT,AUSPICIOUS,AUSTERE:
  159. 1680  DATA AUTHENTIC,AVARICE,AVERSE,AVID,BANAL,BELLICOSE:   
  160. 1690  DATA BENIGN,BIGOTED,BUCOLIC,BUMPTIOUS,CADAVEROUS,CAJOLE:  
  161. 1700  DATA CALLOUS,CALUMNY,CANDID,CANINE,CANTANKEROUS,CAPRICIOUS:   
  162. 1710  DATA CAPTIOUS,CAUSTIC,CHARLATAN,CHASTISE,CHIMERICAL,CIRCUMSPECT:  
  163. 1720  DATA CIRCUMVENT,CITE,CLANDESTINE,CLEMENT,COERCE,COGENT:   
  164. 1730  DATA COLLABORATE,COMELY,COMPATIBLE,CONCUR,CONDOLENCE,CONDONE: 
  165. 1740  DATA CONDUCIVE,CONJECTURE,CONNIVE,CONNOISSEUR,CONSTRUE,CONSUMMATE:
  166. 1750  DATA CONTRITE,CONTUMELY,CONVIVAL,COPIOUS,CORROBORATE,CREDENCE:
  167. 1760  DATA CUMBROUS,CURSORY,CURTAIL,DECORUM,DEFERENCE,DELETERIOUS:  
  168. 1770  DATA DEMUR,DEMURE,DEPRECATE,DERELICT,DEROGATORY,DESULTORY:
  169. 1780  DATA DEVIATE,DEVIOUS,DEXTEROUS,DIDACTIC,DIFFIDENT,DILATORY:   
  170. 1790  DATA DILEMMA,DILETTANTE,DISCOMFITURE,DISPARAGE,DISPARITY,DIVULGE: 
  171. 1800  DATA DOCILE,DOGMATIC,DRASTIC,DUPLICITY,EFFICACIOUS,EFFIGY:
  172. 1810  DATA EFFRONTERY,EGREGIOUS,ELIXIR,EMACIATED,EMANATE,EMOLUMENT: 
  173. 1820  DATA EMULATE,ENHANCE,ENIGMA,EPICURE,EPITAPH,EPITHET:  
  174. 1830  DATA EPITOME,EQUITABLE,EQUIVOCAL,ERODE,ERUDITE,ESOTERIC:  
  175. 1840  DATA ESTRANGE,EULOGY,EUPHONY,EXACERBATE,EXECRATION,EXIGENCY:  
  176. 1850  DATA EXONERATE,EXPATIATE,EXPATRIATE,EXPEDIENT,EXPIATE,EXPUNGE:
  177. 1860  DATA FALLIBLE,FATUOUS,FEASIBLE,FELICITOUS,FESTOON,FETISH: 
  178. 1870  DATA FIASCO,FILCH,FLUCTUATE,FOIBLE,FORENSIC,FORMIDABLE:   
  179. 1880  DATA FORTUITOUS,FRACTIOUS,FRUGAL,FRUSTRATE,FURTIVE,FUTILE:
  180. 1890  DATA GOSSAMER,GREGARIOUS,HACKNEYED,HAGGARD,HALCYON,HARBINGER: 
  181. 1900  DATA HEINOUS,HERESY,HIBERNATE,HILARIOUS,HISTRIONIC,HOAX:  
  182. 1910  DATA HOODWINK,HUMID,HYBRID,HYPERBOLE,IDIOSYNCRASY,IGNOMINY:   
  183. 1920 END:   
  184. SY,HIBERNATE,HILARIOUS,HISTRIONIC,HOAX:  
  185. 1910  DATA HOODWINK,HUMID,H