home *** CD-ROM | disk | FTP | other *** search
/ Explore the World of Soft…ids, Adults, Educational / RocelcoInc-ExploreTheWorldOfSoftware-KidsAdultsEducational-Vol2-Shareware.iso / educate / disk053 / trap.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1980-01-01  |  4.6 KB  |  154 lines

  1. 1   REM  TRAP    8/83
  2. 2   REM
  3. 3   REM  NUMBER GUESSING GAME
  4. 4   REM  
  5. 5   REM  IBM   BASICA   64 KB
  6. 6   REM  
  7. 7   REM    
  8. 8   REM  TRANSLATED FROM APPLE SOFTSWAP
  9. 9   REM    
  10. 10   REM 
  11. 11   REM         
  12. 12   REM  ***********************
  13. 13   REM  *                     *
  14. 14   REM  *  SAN MATEO COUNTY   *
  15. 15   REM  * OFFICE OF EDUCATION *
  16. 16   REM  *                     *
  17. 17   REM  *   COMPUTER-USING    *
  18. 18   REM  *      EDUCATORS      *
  19. 19   REM  *                     *
  20. 20   REM  *      SOFTSWAP       *
  21. 21   REM  *                     *
  22. 22   REM  *   333 MAIN STREET   *
  23. 23   REM  *     REDWOOD CITY    *
  24. 24   REM  *       CA 94063      *
  25. 25   REM  *     (415)363-5472   *
  26. 26   REM  *                     *
  27. 27   REM  ***********************
  28. 28   REM  *
  29. 29   REM  ***********************
  30. 30   REM  *PROGRAM MAY BE COPIED*
  31. 31   REM  *FOR EDUCATIONAL USE &*
  32. 32   REM  *MAY NOT BE SOLD.COPY-*
  33. 33   REM  *RIGHT 1983 CUE,INC   *
  34. 34   REM  ***********************
  35. 100   SCREEN 0,1: WIDTH 40: KEY OFF : CLS : LOCATE 12
  36. 110   PRINT  TAB( 10)"******* TRAP *******"
  37. 120   FOR D = 1 TO 750: NEXT D
  38. 130   CLS : LOCATE 12
  39. 140   PRINT : PRINT : PRINT 
  40. 150  G = 6:D = 0:E = 0
  41. 160  N = 100
  42. 170   REM -TRAP
  43. 180   REM -STEVE ULLMAN, 8/1/72
  44. 190   LOCATE 10: PRINT "INSTRUCTIONS ( Y OR N )?";
  45. 200   Z$=INKEY$: IF Z$ = "" THEN 200
  46. 210   IF Z$ = "N"OR Z$="n"  THEN  PRINT : GOTO 350
  47. 220   IF Z$ <  > "Y" AND Z$ <> "y" THEN  PRINT : PRINT "WHAT!!(Y OR N)?";: GOTO 190
  48. 230   PRINT
  49. 240   REM
  50. 250   CLS:LOCATE 4
  51. 260   PRINT  TAB( 4)"I AM THINKING OF A NUMBER BETWEEN 1"
  52. 270   PRINT "AND ";N"
  53. 280   PRINT : PRINT "ON EACH GUESS, YOU ARE TO ENTER TWO"
  54. 290   PRINT "NUMBERS (A,B), TRYING TO TRAP MY NUMBER"
  55. 300   PRINT : PRINT "I WILL TELL YOU IF YOU HAVE TRAPPED MY"
  56. 310   PRINT "NUMBER, OR IF MY NUMBER IS LARGER OR"
  57. 320   PRINT "SMALLER THAN YOUR TRAP"
  58. 330   PRINT : PRINT "TO GUESS A SINGLE NUMBER ENTER IT TWICE"
  59. 340   PRINT : PRINT 
  60. 350   PRINT : PRINT "YOU GET ";G;" GUESSES TO GET MY NUMBER."
  61. 360   GOSUB 980
  62. 370  X =  INT (N *  RND (1)) + 1
  63. 380  D = 0:E = 0
  64. 390   FOR Q = 1 TO G
  65. 400   CLS : LOCATE 2: PRINT "PREVIOUS GUESS WAS ";D;",";E;"   ":GOSUB 980: CLS
  66. 410   GOSUB 1020
  67. 420   IF D = E AND X = D THEN 650
  68. 430   IF D <  = E THEN 450
  69. 440   GOSUB 610
  70. 450   IF D <  = X AND X <  = E THEN 550
  71. 460   IF X < D THEN 510
  72. 470   PRINT : PRINT "MY NUMBER IS LARGER THAN YOUR TRAP"
  73. 480   PRINT "NUMBERS."
  74. 490   GOSUB 980
  75. 500   GOTO 570
  76. 510   PRINT : PRINT "MY NUMBER IS SMALLER THAN YOUR TRAP"
  77. 520   PRINT "NUMBERS."
  78. 530   GOSUB 980
  79. 540   GOTO 570
  80. 550   PRINT : PRINT "YOU HAVE TRAPPED MY NUMBER."
  81. 560   GOSUB 980
  82. 570   NEXT Q
  83. 580   CLS : LOCATE 2
  84. 590   PRINT : PRINT : PRINT : PRINT "SORRY, THAT'S ";G;" GUESSES. NUMBER WAS ";X"."
  85. 600   GOTO 660
  86. 610  R = D
  87. 620  D = E
  88. 630  E = R
  89. 640   RETURN 
  90. 650  PRINT : PRINT : PRINT TAB(13);"YOU GOT IT !!!"
  91. 660  PRINT
  92. 670  PRINT TAB(15);"TRY AGAIN? <Y/N>?";
  93. 680  A$=INKEY$: IF A$="Y" OR A$="y" THEN 370
  94. 690  IF A$<> "N" AND A$<>"n" THEN 680
  95. 710   GOTO 760
  96. 720   LOCATE , 20 -  LEN (CT$) / 2
  97. 730   PRINT CT$
  98. 740   PRINT ""
  99. 750   RETURN 
  100. 760   CLS : LOCATE 10: PRINT "WOULD SOMEONE ELSE LIKE TO PLAY? (Y/N) ";
  101. 761  IN$=INKEY$:IF IN$ <>"Y" AND IN$<> "N" AND IN$<>"n" AND IN$<>"y"  THEN 761
  102. 770   IF IN$ = "Y" OR IN$="y" THEN  CLS : GOTO 150
  103. 780   CLS
  104. 790   LOCATE 10: LOCATE , 10: PRINT "* * * THE  END * * *"
  105. 800  CHAIN "MENU",170: RUN
  106. 810   LOCATE 3:CT$ = "*  T R A P  *": GOSUB 720
  107. 820  CT$ = "BY STEVE ULLMAN": GOSUB 720
  108. 830  CT$ = "MODIFIED BY G. LARSEN": GOSUB 720
  109. 840  CT$ = "DECEMBER 1978": GOSUB 720
  110. 850   PRINT :CT$ = "GUESS THE APPLE'S SECRET NUMBER.": GOSUB 720
  111. 860   LOCATE 21: PRINT "  PRESS THE 'ESC' TO END"
  112. 870   PRINT "< PRESS THE SPACE BAR TO CONTINUE...>"
  113. 880   REM
  114. 890   REM
  115. 900   RETURN 
  116. 910   REM 
  117. 920   REM  GIVEN TO APPLE CORE OF      SAN FRANCISCO FOR USE       OF MEMBERS  DEC. 1978 
  118. 930   REM 
  119. 940   REM  LAST MOD. JULY 1979
  120. 950   REM 
  121. 960   REM  ' TRAP '
  122. 970   END 
  123. 980   LOCATE 23: PRINT "       PRESS <RETURN> TO CONTINUE...": LOCATE , 6: PRINT "OR <ESC> KEY TO END PROGRAM";
  124. 990   Z$=INKEY$: IF  Z$ = CHR$(27) THEN 760
  125. 1000   IF Z$ <  > CHR$(13) THEN 990
  126. 1010   RETURN 
  127. 1020  B$ = "": LOCATE 5: PRINT "GUESS NUMBER ";Q;" ";
  128. 1030   IN$=INKEY$: IF  IN$ = CHR$(13) AND B$ = "" THEN 1030
  129. 1040   IF  IN$ = CHR$(13) THEN 1090
  130. 1050   IF  IN$ = CHR$(8) THEN 1200
  131. 1060   IF IN$ = "," THEN 1080
  132. 1070   IF  IN$ < CHR$(48) OR  IN$ > CHR$(57) THEN 1030: REM   NON-NUMBER
  133. 1080  B$ = B$ + IN$: PRINT IN$;: GOTO 1030
  134. 1090  COMMA = 0: FOR I = 1 TO  LEN (B$): IF  MID$ (B$,I,1) = "," THEN CO = 1
  135. 1100   NEXT I
  136. 1110   IF CO = 0 THEN B$ = "": CLS : PRINT "WHOOPS!  YOU FORGOT THE COMMA. PLEASE   PRESS <RETURN> AND THEN ENTER YOUR NUM- BERS AGAIN. ": GOSUB 980
  137. 1120   IF CO = 0 THEN  CLS : GOTO 1020
  138. 1130  D =  VAL (B$):K =  LEN (B$): FOR I = 1 TO K:B1$ =  MID$ (B$,I,1): IF B1$ = "," THEN CO = I: GOTO 1150
  139. 1140   NEXT I
  140. 1150   IF K - CO < 1 THEN 1180
  141. 1160  E$ =  RIGHT$ (B$,(K - CO)):E =  VAL (E$)
  142. 1170   GOTO 1240
  143. 1180  B$ = "":E$ = "": CLS : PRINT "I'M SORRY, BUT YOU FORGOT THE LAST NUM- BER. PLEASE PRESS RETURN AND THEN RE-   ENTER YOUR NUMBERS. ";: IN$=INKEY$: PRINT : IF  IN$ <  > CHR$(13) THEN 1180
  144. 1190   CLS : GOTO 1020
  145. 1200  K =  LEN (B$): IF K <  = 1 THEN B$ = "": GOTO 1220
  146. 1210  B$ =  LEFT$ (B$,K - 1)
  147. 1220   REM
  148. 1230   GOTO 1030
  149. 1240   IF D > E THEN  CLS : PRINT "I'M SORRY, BUT THE FIRST NUMBER MUST BE SMALLER THAN THE SECOND. ": PRINT : PRINT "YOU WILL NEED TO ENTER YOUR NUMBERS     AGAIN.": GOSUB 980: CLS : GOTO 1020
  150. 1250   IF D < 1 OR D > 100 THEN 1280
  151. 1260   IF E < 1 OR E > 100 THEN 1280
  152. 1270   RETURN 
  153. 1280   CLS : PRINT "REMEMBER, MY NUMBER IS BETWEEN 1 AND    100. PLEASE RE-ENTER YOUR NUMBERS.": GOSUB 980: CLS : GOTO 1020
  154.