home *** CD-ROM | disk | FTP | other *** search
/ The Glitch Apple Disk Collection / 2014.glitch.apple.collection.zip / indexed / PRODOS.DSK / ANIMALS.bas next >
BASIC Source File  |  2014-09-09  |  6KB  |  183 lines

  1. 100  REM    ANIMALS PROGRAM
  2. 110  REM   
  3. 120  ONERR  GOTO 1460
  4. 130  GOTO 980: REM     INITILIZE
  5. 140  REM  
  6. 150  REM  PLAY THE GAME!
  7. 160  REM 
  8. 170 CUR = 1
  9. 180  PRINT OP$
  10. 190  PRINT RF$;CUR
  11. 200  INPUT N$: IF  LEFT$(N$,1) = "!"  THEN 350
  12. 210  INPUT RP: INPUT WP
  13. 220  REM 
  14. 230  REM     NOW HAVE QUESTION TO ASK. 
  15. 240  REM     RP POINTS AT 'YES' RECORD 
  16. 250  REM     WP POINTS AT 'NO' RECORD
  17. 260  REM 
  18. 270  PRINT CL$
  19. 280  PRINT : PRINT N$;: INPUT "?";A$
  20. 290  GOSUB 900: IF YN = 0  THEN 280
  21. 300 PREV = CUR
  22. 310  IF A$ = "Y"  THEN CUR = RP
  23. 320  IF A$ = "N"  THEN CUR = WP
  24. 330  GOTO 180
  25. 340  REM    
  26. 350  REM   FOUND AN ANIMAL, IS IT CORRECT?
  27. 360  REM    
  28. 370 R$ = A$: REM  REMEMBER THE ANSWER
  29. 380  PRINT CL$: REM   CLOSE THE FILE
  30. 390 N$ =  RIGHT$(N$, LEN(N$) -1)
  31. 400 A$ = "AEIOU": PRINT "IS THE ANIMAL YOU'RE THINKING OF A";
  32. 410  FOR VWL = 1 TO 5
  33. 420  IF  MID$ (A$,VWL,VWL) =  LEFT$(N$,1)  THEN VWL = 5: PRINT "N";
  34. 430  NEXT VWL
  35. 440  PRINT : PRINT N$;: INPUT A$
  36. 450  GOSUB 900: IF YN = 0  THEN 400
  37. 460  IF A$ = "Y"  THEN 800
  38. 470  REM    
  39. 480  REM     I DON'T KNOW WHAT ANIMAL IT IS, ASK HIM
  40. 490  REM    
  41. 500  PRINT : PRINT : PRINT "ALL RIGHT, I GIVE UP. WHAT ANIMAL WERE"
  42. 510  PRINT "YOU THINKING OF";
  43. 520  INPUT ANIM$
  44. 530  PRINT : PRINT "PLEASE TYPE A QUESTION THAT WOULD"
  45. 540  PRINT "DISTINGUISH BETWEEN A ";N$: PRINT "AND A ";ANIM$;
  46. 550  INPUT ":";Q$:
  47. 560  IF  RIGHT$(Q$,1) = "?"  THEN Q$ =  LEFT$(Q$, LEN(Q$) -1)
  48. 570  PRINT : PRINT "WHAT WOULD THE CORRECT ANSWER FOR A"
  49. 580  PRINT ANIM$;" BE";: INPUT A$
  50. 590  GOSUB 900: IF YN = 0  THEN 570
  51. 600  REM  
  52. 610  REM     UPDATE HEADER RECORD.
  53. 620  REM  
  54. 630  PRINT OP$
  55. 640  PRINT RF$;0: INPUT CNT,LAST:CNT = CNT +1:LAST = LAST +2:
  56. 650  PRINT WF$;0: PRINT CNT;",";LAST
  57. 660  PRINT RF$;PREV: INPUT N$: INPUT OC: INPUT OW
  58. 670  PRINT WF$;PREV: PRINT N$
  59. 680  IF R$ = "N"  THEN 700
  60. 690  PRINT LAST -1: PRINT OW: GOTO 710
  61. 700  PRINT OC: PRINT LAST -1
  62. 710  PRINT WF$;LAST -1: PRINT Q$
  63. 720  IF A$ = "Y"  THEN 740
  64. 730  PRINT CUR: PRINT LAST: GOTO 750
  65. 740  PRINT LAST: PRINT CUR
  66. 750  PRINT WF$;LAST
  67. 760  PRINT "!" +ANIM$
  68. 770  PRINT CL$
  69. 780  PRINT "I NOW KNOW ";CNT;" ANIMALS!<CTRL-G>": GOTO 850
  70. 790  REM 
  71. 800  REM      I GOT IT RIGHT!!!
  72. 810  REM 
  73. 820  FOR L = 1 TO 10: PRINT : NEXT L
  74. 830  PRINT "I GOT IT RIGHT!!!<CTRL-G><CTRL-G><CTRL-G><CTRL-G>"
  75. 840  REM   
  76. 850  PRINT : INPUT "WANT TO PLAY AGAIN? ";A$
  77. 860  GOSUB 900: IF YN = 0  THEN 850
  78. 870  IF A$ = "Y"  THEN 170
  79. 880  END 
  80. 890  REM  
  81. 900  REM    CHECK FOR YES OR NO RESPONSE
  82. 910 YN = 0
  83. 920  IF  LEN(A$) = 0  THEN  RETURN 
  84. 930 A$ =  LEFT$(A$,1)
  85. 940  IF A$ = "Y"  OR A$ = "y"  THEN YN = 1:A$ = "Y"
  86. 950  IF A$ = "N"  OR A$ = "n"  THEN YN = 1:A$ = "N"
  87. 960  RETURN 
  88. 970  REM    
  89. 980  REM     INITILIZATION SECTION
  90. 990  REM    
  91. 1000 D$ =  CHR$(4): HOME : TEXT 
  92. 1010 RF$ = D$ +"READ ANIMALSFILE,R"
  93. 1020 WF$ = D$ +"WRITE ANIMALSFILE,R"
  94. 1030 CL$ = D$ +"CLOSE ANIMALSFILE"
  95. 1040 OP$ = D$ +"OPEN ANIMALSFILE,L80"
  96. 1050  PRINT 
  97. 1060  PRINT "* NOTE<CTRL-G>: YOUR DISKETTE MAY NOT BE"
  98. 1070  PRINT "WRITE PROTECTED IN ORDER TO PLAY THIS": PRINT "GAME!"
  99. 1080  VTAB 5: PRINT " **** ANIMAL LEARNING GAME ****"
  100. 1090  PRINT 
  101. 1100  PRINT "DO YOU WANT INSTRUCTIONS (Y OR N)";: INPUT A$: HOME 
  102. 1110  IF  LEN(A$) = 0  THEN 170
  103. 1120  GOSUB 900: IF A$ = "N"  OR A$ = "n"  THEN 170
  104. 1130  PRINT : PRINT "INSTRUCTIONS:": PRINT 
  105. 1140  PRINT "YOU WILL THINK OF AN ANIMAL, AND I WILL"
  106. 1150  PRINT "TRY TO GUESS WHAT ANIMAL YOU ARE"
  107. 1160  PRINT "THINKING OF.  I WILL DO THIS BY ASKING"
  108. 1170  PRINT "YOU A SERIES OF QUESTIONS ABOUT YOUR"
  109. 1180  PRINT "ANIMAL, TO WHICH YOU RESPOND EITHER"
  110. 1190  PRINT "YES OR NO. (ACTUALLY, A SIMPLE 'Y' OR"
  111. 1200  PRINT "'N' RESPONSE IS SUFFICIENT)"
  112. 1210  PRINT "IF I DO NOT GUESS WHAT YOUR ANIMAL IS,"
  113. 1220  PRINT "I WILL ASK YOU A FEW QUESTIONS SO THAT"
  114. 1230  PRINT "NEXT TIME I WILL KNOW WHAT YOUR ANIMAL"
  115. 1240  PRINT "IS.": PRINT 
  116. 1250  PRINT "DO YOU WANT TO START A NEW GAME"
  117. 1260  PRINT "I.E. FORGET ALL PREVIOUS ANIMALS"
  118. 1270  INPUT "ANSWER 'YES' OR 'NO'  ";A$: IF  LEN(A$) = 0  THEN 170
  119. 1280  GOSUB 910: IF YN = 0  THEN  GOTO 1270
  120. 1290  IF A$ = "N"  OR A$ = "n"  THEN 170
  121. 1300  REM 
  122. 1310  REM  CREATE A NEW DATA FILE
  123. 1320  REM 
  124. 1330  PRINT OP$
  125. 1340  PRINT WF$;0
  126. 1350  PRINT "2,4"
  127. 1360  PRINT WF$;1
  128. 1370  PRINT "DOES IT LIVE IN THE WATER": PRINT 2: PRINT 3
  129. 1380  PRINT WF$;2
  130. 1390  PRINT "!FROG"
  131. 1400  PRINT WF$;3
  132. 1410  PRINT "!MOOSE"
  133. 1420  PRINT CL$
  134. 1430  GOTO 170
  135. 1440  REM  
  136. 1450  REM  ONERR PROCESSING ROUTINE
  137. 1460  REM 
  138. 1470 ER =  PEEK(222)
  139. 1480  IF ER = 255  THEN 1580
  140. 1490  IF ER = 7  THEN  PRINT CL$: GOTO 1310: REM  CREATE A NEW FILE
  141. 1500  IF ER = 3  THEN  PRINT "NO DEVICE CONNECTED"
  142. 1510  IF ER = 2  THEN  PRINT CL$: GOTO 1310: REM  CREATE A NEW FILE
  143. 1520  IF ER = 6  THEN  PRINT "DISK NOT FOUND"
  144. 1530  IF ER = 4  THEN  PRINT "YOUR DISK IS WRITE PROTECTED"
  145. 1540  IF ER = 9  THEN  PRINT "YOUR DISK IS FULL"
  146. 1550  IF ER = 10  THEN  PRINT "YOUR ANIMALSFILE IS LOCKED"
  147. 1560  IF ER = 176  THEN  PRINT "INPUT TOO LONG"
  148. 1570  INPUT "HIT 'RETURN' TO CONTINUE";A$
  149. 1580  HOME : REM  END THE PROGRAM
  150. 1590  IF ER = 255  THEN  PRINT "PLAYER PRESSED CONTROL-C"
  151. 1600  PRINT "PROGRAM ANIMALS FINISHED"
  152. 1610  PRINT CL$: END 
  153. 1620  REM     ***************************
  154. 1630  REM     *                         *
  155. 1640  REM     *        ANIMALS          *
  156. 1650  REM     *  PROGRAM THAT  LEARNS   *
  157. 1660  REM     *  ABOUT VARIOUS ANIMALS  *
  158. 1670  REM     *  FROM THE USER.         *
  159. 1680  REM     *                         *
  160. 1690  REM     *   COPYRIGHT 1978 BY     *
  161. 1700  REM     *  APPLE COMPUTER INC.    *
  162. 1710  REM     *                         *
  163. 1720  REM     *   UPDATED: OCTOBER 1983 *
  164. 1730  REM     *************BY WHS********
  165. 1740  REM    
  166. 1750  REM     
  167. 1760  REM      BASICALLY, THIS PROGRAM
  168. 1770  REM      ILLUSTRATES THE USE OF A
  169. 1780  REM      BINARY TREE STRUCTURE. SINCE
  170. 1790  REM      THE ANSWER TO A QUESTION MUST
  171. 1800  REM      EITHER BE A YES OR NO, WE
  172. 1810  REM      WILL TRAVERSE THE TREE EITHER
  173. 1820  REM      LEFT OR RIGHT. IF WE DO NOT
  174. 1830  REM      GUESS THE ANIMAL CORRECTLY,
  175. 1840  REM      WE SIMPLY GET THE NEW ANIMAL
  176. 1850  REM      AND A QUESTION TO DISTINGUISH
  177. 1860  REM      IT FROM OTHER ANIMALS, AND
  178. 1870  REM      UPDATE THE TREE STRUCTURE.
  179. 1880  REM     
  180. 1890  REM      ORIGINAL PROGRAM IDEA:
  181. 1900  REM        WHO KNOWS?
  182. 1910  REM     
  183. 1920  REM      COPYRIGHT 1978 APPLE COMPUTER INC.