home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / WIN_GAME / GUESS14.ZIP / GUESS.BAS < prev    next >
BASIC Source File  |  1994-02-23  |  5KB  |  204 lines

  1. REM This program was written by Chris Uhl and may be freely distributed
  2. REM in accordance with the included README.TXT.
  3.  
  4. REM I don't have any remarks, so you'll have to wing it.
  5.  
  6. REM This isn't the best way I could have coded it, but it does look
  7. REM good.
  8.  
  9. RANDOMIZE TIMER
  10. COLOR (14), (1)
  11. CLS
  12. LOCATE 5, 4
  13. PRINT "Original code Copyright, Chris Uhl, 1993. 'Guess' Version 1.0"
  14. LOCATE 7, 8
  15.  
  16. record = 20
  17. record$ = "Mr. Nobody"
  18.  
  19.  
  20. LOCATE 23, 25: PRINT "Do you want to play (Y/N)"
  21. lab2:
  22. a$ = INKEY$
  23. a$ = UCASE$(a$)
  24. IF a$ = "Y" THEN GOTO begin
  25. IF a$ = "N" THEN END
  26. LOCATE 25, 5: PRINT TIME$;
  27. GOTO lab2:
  28.  
  29.  
  30. ON ERROR GOTO e
  31. DIM name$(25)
  32. CLS
  33. DIM g(35)
  34. begin:
  35. x$ = ""
  36. CLS
  37. LOCATE 5, 6
  38. INPUT "What is your name"; name$
  39. l = LEN(name$)
  40. IF l > 10 THEN LOCATE 8, 8: PRINT "Shorter name please": FOR t = 1 TO 5000: NEXT: CLS : GOTO begin
  41. GOSUB checkname
  42. count = 0
  43. guess = 0
  44. CLS
  45. x = INT(RND(1) * 10000) + 1
  46. there:
  47. CLS
  48. COLOR (14), (1)
  49. LOCATE 25, 5: PRINT TIME$, DATE$
  50. LOCATE 3, 4: PRINT "Prev:"; guess; ""; x$
  51. IF count = 1 THEN
  52.         LOCATE 3, 45
  53.         PRINT name$; " has taken"; count; "guess"
  54. ELSE
  55.         LOCATE 3, 45
  56.         PRINT name$; " has taken"; count; "guesses"
  57. END IF
  58. LOCATE 20, 25: PRINT "Record is"; record; "(Held by "; :
  59. IF cheatrecord = 1 THEN COLOR (12), (1): PRINT "Cheating ";
  60. COLOR (14), (1)
  61. PRINT record$; ")"
  62.  
  63.  
  64. LOCATE 1, 1
  65. Hnum$ = HEX$(x)
  66. PRINT Hnum$
  67. hichris2:
  68. LOCATE 10, 4
  69. PRINT "Guess the number that I am thinking of (1-10,000) ";
  70. COLOR (12), (1)
  71. INPUT "", guess$
  72. COLOR (14), (1)
  73. count = count + 1
  74. guess = VAL(guess$)
  75. guess = INT(guess)
  76. guess = ABS(guess)
  77. IF guess > 0 THEN guess2 = guess
  78. g(count) = guess
  79. LOCATE 12, 15
  80. guess$ = UCASE$(guess$)
  81. IF guess$ = Hnum$ THEN PRINT "Nice try,"; : FOR t = 1 TO 4500: NEXT: PRINT " It's not that easy": FOR t = 1 TO 5000: NEXT: GOTO there
  82. IF guess$ = "ANSWER" THEN PRINT x: FOR a = 1 TO 2000: NEXT: count = count - 1: cheat = 1: GOTO there
  83. IF guess$ = "HI CHRIS" THEN GOTO hichris
  84. guess = VAL(guess$)
  85. FOR co = 1 TO count - 1
  86.         IF g(co) = guess THEN
  87.                 PRINT "You already used that number, "; : FOR t = 1 TO 4500: NEXT: PRINT "Tee hee!": co = count
  88.                 FOR t = 1 TO 5000: NEXT
  89.                 LOCATE 14, 15
  90.         END IF
  91. NEXT
  92. IF guess = 0 THEN GOSUB en
  93. IF guess = x THEN
  94.  PRINT "Yes, you got it in "; count; " tries": GOTO display
  95. END IF
  96. IF guess < 0 THEN PRINT "As if": FOR t = 1 TO 5000: NEXT: x$ = "You Must Be Blond": GOTO there
  97. IF guess > 10000 THEN PRINT "As if": FOR t = 1 TO 5000: NEXT: x$ = "You Must Be Blond": GOTO there
  98. IF guess > x THEN PRINT "Too high": FOR t = 1 TO 5000: NEXT: x$ = "Too high"
  99. IF guess < x THEN PRINT "Too low": FOR t = 1 TO 5000: NEXT: x$ = "Too low"
  100. GOTO there
  101. e:
  102. LOCATE 17, 5
  103. PRINT "You screwed up!!!"
  104. PRINT x
  105. LOCATE 20, 25: PRINT "Do you want to play again (Y/N)"
  106. lab:
  107. a$ = INKEY$
  108. a$ = UCASE$(a$)
  109. IF a$ = "Y" THEN GOTO begin
  110. IF a$ = "N" THEN END
  111. LOCATE 25, 5: PRINT TIME$;
  112. GOTO lab
  113. display:
  114. CLS
  115. COLOR (12), (1)
  116. LOCATE 15, 25: IF count <> 1 THEN PRINT "You guessed it in"; count; "tries." ELSE PRINT "You guessed it in"; count; "try."
  117. COLOR (14), (1)
  118. IF count < record THEN
  119.   record = count
  120.   record$ = name$
  121. END IF
  122. LOCATE 20, 20
  123. cheatrecord = 0
  124. IF cheat = 1 THEN cheatrecord = 1
  125. IF cheat = 0 THEN cheatrecord = 0
  126. cheat = 0
  127. record2$ = STR$(record)
  128. PRINT "Today's record is:"; record2$; ", held by "; record$
  129. lab1:
  130. LOCATE 23, 25: PRINT "Do you want to play (Y/N)"
  131. a$ = INKEY$
  132. a$ = UCASE$(a$)
  133. IF a$ = "Y" THEN GOTO begin
  134. IF a$ = "N" THEN END
  135. LOCATE 25, 5: PRINT TIME$;
  136. GOTO lab1:
  137. GOTO begin
  138. END
  139.  
  140. checkname:
  141. RESTORE
  142. DATA HI,ME,YOU,THEM,I DON'T KNOW,NO,HELLO,DUMBO,NOTHING,FART,I,HIM,HER,IT,THERE,HERE,STUPID,YO,FUCK,SHIT,BITCH
  143. name2$ = UCASE$(name$)
  144. FOR t = 1 TO 21
  145.  READ names$
  146.  IF names$ = name2$ THEN LOCATE 8, 8: PRINT "Get a real name": FOR t = 1 TO 5000: NEXT: CLS : GOTO begin
  147. NEXT
  148. l = LEN(name$)
  149. IF l = 0 THEN GOTO begin
  150. S$ = MID$(name$, 1, 1)
  151. S$ = UCASE$(S$)
  152. g$ = RIGHT$(name$, l - 1)
  153. g$ = LCASE$(g$)
  154. name$ = S$ + g$
  155. FOR t = 1 TO l
  156. S$ = MID$(name$, t, 1)
  157. IF S$ = " " THEN
  158.  LOCATE 8, 8
  159.  PRINT "First names will do"
  160.  FOR S = 1 TO 5000: NEXT S
  161.  name$ = LEFT$(name$, t - 1)
  162. END IF
  163. NEXT
  164. vowel$(1) = "A"
  165. vowel$(2) = "E"
  166. vowel$(3) = "I"
  167. vowel$(4) = "O"
  168. vowel$(5) = "U"
  169. FOR c = 1 TO l
  170. na$ = UCASE$(name$)
  171. n$ = MID$(na$, c, 1)
  172. n$ = UCASE$(n$)
  173. FOR t = 1 TO 5
  174. IF n$ = vowel$(t) THEN RETURN
  175. NEXT t
  176. NEXT c
  177.  LOCATE 8, 8: PRINT "Get a real name             ": FOR t = 1 TO 5000: NEXT: GOTO begin
  178. RETURN
  179. en:
  180. PRINT "Do you want to quit?  (Y/N)"
  181. la:
  182. S$ = INKEY$
  183. S$ = UCASE$(S$)
  184. IF S$ = "Y" THEN END
  185. LOCATE 25, 5: PRINT TIME$;
  186. IF S$ = "N" THEN
  187.         count = count - 1
  188.         LOCATE 12, 5
  189.         PRINT "                                                      "
  190.         GOTO hichris2
  191.         RETURN
  192. END IF
  193. GOTO la
  194. hichris:
  195. CLS
  196. LOCATE 15, 40: PRINT "Hi, "; name$
  197. FOR x = 1 TO 1500: NEXT
  198. BEEP
  199. count = count - 1
  200. CLS
  201. GOTO there
  202. RETURN
  203.  
  204.