home *** CD-ROM | disk | FTP | other *** search
/ 17 Bit Software 1: Collection A / 17Bit_Collection_A.iso / files / 35.dms / 35.adf / haiku.bas < prev    next >
BASIC Source File  |  1988-05-22  |  6KB  |  190 lines

  1. 1     '       Haiku Ver. 1.2
  2. 2     rem clear 200
  3. 3     '
  4. 10    '      supervisor
  5. 11    screen 1,4
  6. 20    GOSUB 120
  7. 30    GOTO 50
  8. 40    GOSUB 200
  9. 50    GOSUB 260
  10. 60    IF RAN = 1 THEN GOSUB 450
  11. 70    IF RAN = 2 THEN GOSUB 670
  12. 80    IF RAN = 3 THEN GOSUB 890
  13. 90    IF RAN = 4 THEN GOSUB 1110
  14. 100   GOTO 40
  15. 120   '   initialization 
  16. 125   scnclr: print "I'm thinking....."
  17. 130   RANDOMIZE
  18. 140   ARTNMB = 4
  19. 150   ADJNMB = 50
  20. 160   NOUNNMB = 50
  21. 170   VERBNMB = 14
  22. 180   PREPNMB = 6
  23. 190   RETURN
  24. 195   '
  25. 200   '     input
  26. 210   LIN$ = ""
  27. 220   RESTORE
  28. 225   print at(25,22);"<P>rint - <C>ontinue - <S>top"
  29. 230   GETKEY A$
  30. 240   IF A$="P" OR A$="p" THEN GOSUB 1350 
  31. 242   if a$="S" or A$="s" THEN STOP ELSE SCNCLR
  32. 245   PRINT "I'm thinking....."
  33. 250   RETURN
  34. 260   '      determine pattern
  35. 270   RAN = INT(RND*5)
  36. 272   IF RAN<1 THEN 270
  37. 275   PRINT "Form ";RAN
  38. 280   RETURN
  39. 300   '      check articles
  40. 305   FOR I = 1 TO LEN(LIN$) - 2
  41. 310   IF MID$(LIN$,I,3)=" A " THEN B$=MID$(LIN$,I+3,1): IF B$="A" OR B$="E" OR B$="I" OR B$="O" OR B$="U" THEN LIN$=LEFT$(LIN$,I+1)+"N"+MID$(LIN$,I+2)   
  42. 320   NEXT I
  43. 330   FOR I = 1 TO LEN(LIN$)-2
  44. 340   IF MID$(LIN$,I,4)=" AN " THEN B$=MID$(LIN$,I+4,1): IF B$="A" OR B$="E" OR B$="I" OR B$= "O" OR B$="U" THEN 350 ELSE LIN$=LEFT$(LIN$,I+1)+MID$(LIN$,I+3)
  45. 350   NEXT I
  46. 360   RETURN
  47. 380   '       SELECT WORDS
  48. 385   RAN=INT(RND*N+1)+P
  49. 387   IF RAN>124 THEN 385
  50. 390   FOR I=1 TO RAN
  51. 400   READ WRD$
  52. 410   NEXT I
  53. 420   LIN$=LIN$+ " "+ WRD$
  54. 430   RESTORE
  55. 440   RETURN
  56. 450   '      first pattern
  57. 460   N=ARTNMB:P=0:GOSUB 380
  58. 470   N=ADJNMB: P=ARTNMB: GOSUB 380
  59. 480   N=NOUNNMB: P=ARTNMB + ADJNMB: GOSUB 380
  60. 490   GOSUB 300
  61. 500   LIN$= LIN$ + "..."
  62. 510   PRINT AT (23,13); LIN$
  63. 515   LIN1$=LIN$
  64. 520   LIN$=""
  65. 530   N = ARTNMB: P=0: GOSUB 380
  66. 540   N=NOUNNMB: P=ARTNMB+ADJNMB:GOSUB 380
  67. 550   N=VERBNMB:P=ARTNMB+ADJNMB+NOUNNMB: GOSUB 380
  68. 560   N=PREPNMB:P=ARTNMB+ADJNMB+NOUNNMB+VERBNMB: GOSUB 380
  69. 570   N=ARTNMB: P=0: GOSUB 380
  70. 580   N=NOUNNMB: P=ARTNMB+ADJNMB:GOSUB 380
  71. 590   GOSUB 300
  72. 599   REM CHANGED UP TO THIS POINT
  73. 600   PRINT AT (26,14); LIN$
  74. 605   LIN2$=LIN$
  75. 610   LIN$=""
  76. 620   N=ADJNMB:P=ARTNMB: GOSUB 380
  77. 630   GOSUB 380
  78. 640   N=NOUNNMB:P=ARTNMB+ADJNMB: GOSUB 380
  79. 650   PRINT AT (29,15); LIN$
  80. 655   LIN3$=LIN$
  81. 660   RETURN
  82. 670   '        second pattern
  83. 680   N= NOUNNMB:P=ARTNMB+ADJNMB: GOSUB 380
  84. 690   N=PREPNMB:P=ARTNMB+ADJNMB+NOUNNMB+VERBNMB: GOSUB 380
  85. 700   N=ARTNMB:P=0: GOSUB 380
  86. 710   N=NOUNNMB:P=ARTNMB+ADJNMB: GOSUB 380
  87. 720   GOSUB 300
  88. 730   LIN$=LIN$+";"
  89. 740   PRINT AT (23,13); LIN$
  90. 745   LIN1$=LIN$
  91. 750   LIN$ = ""
  92. 760   N=ARTNMB:P=0:GOSUB 380
  93. 770   N=ADJNMB:P=ARTNMB: GOSUB 380
  94. 780   N=NOUNNMB:P=ARTNMB+ADJNMB: GOSUB 380
  95. 790   N=PREPNMB:P=ARTNMB+ADJNMB+NOUNNMB+VERBNMB: GOSUB 380
  96. 800   N=ARTNMB:P=O: GOSUB 380
  97. 810   N=NOUNNMB: P=ARTNMB+ADJNMB: GOSUB 380
  98. 820   GOSUB 300
  99. 830   PRINT AT (26,14); LIN$
  100. 835   LIN2$=LIN$
  101. 840   LIN$=""
  102. 850   N=ADJNMB:P=0:GOSUB 380
  103. 860   N=NOUNNMB:P=ARTNMB+ADJNMB: GOSUB 380
  104. 870   PRINT AT (29,15); LIN$
  105. 875   LIN3$=LIN$
  106. 880   RETURN
  107. 890   '          third pattern
  108. 900   N=ARTNMB:P=0:GOSUB 380
  109. 910   N=ADJNMB:P=ARTNMB: GOSUB 380
  110. 920   GOSUB 380
  111. 930   N=NOUNNMB:P=ARTNMB+ADJNMB: GOSUB 380
  112. 940   GOSUB 300
  113. 950   LIN$=LIN$+";"
  114. 960   PRINT AT (23,13); LIN$
  115. 965   LIN1$=LIN$
  116. 970   LIN$=""
  117. 980   N=PREPNMB:P=ARTNMB+ADJNMB+NOUNNMB+VERBNMB: GOSUB 380
  118. 990   N=ARTNMB:P=0: GOSUB 380
  119. 1000  N=ADJNMB:P=ARTNMB: GOSUB 380
  120. 1010  N=NOUNNMB: P=ARTNMB+ADJNMB: GOSUB 380
  121. 1020  GOSUB 300
  122. 1030  PRINT AT (26,14); LIN$
  123. 1035  LIN2$=LIN$
  124. 1040  LIN$=""
  125. 1050  N= ARTNMB:P=0: GOSUB 380
  126. 1060  N= NOUNNMB:P=ARTNMB+ADJNMB:GOSUB 380
  127. 1070  N=VERBNMB:P=ARTNMB+ADJNMB+NOUNNMB: GOSUB 380
  128. 1080  GOSUB 300
  129. 1090  PRINT AT (29,15); LIN$
  130. 1095  LIN3$=LIN$
  131. 1100  RETURN
  132. 1110  '        fourth pattern
  133. 1120  N=ARTNMB:P=O: GOSUB 380
  134. 1130  N=ADJNMB:P=ARTNMB: GOSUB 380
  135. 1140  N=NOUNNMB:P=ARTNMB+ADJNMB: GOSUB 380
  136. 1150  N=VERBNMB:P=ARTNMB+ADJNMB+NOUNNMB: GOSUB 380
  137. 1160  GOSUB 300
  138. 1170  LIN$=LIN$+";"
  139. 1180  PRINT AT (23,13); LIN$
  140. 1185  LIN1$=LIN$
  141. 1190  LIN$=""
  142. 1200  N=ARTNMB:P=O: GOSUB 380
  143. 1210  N= ADJNMB:P=ARTNMB: GOSUB 380
  144. 1220  GOSUB 380
  145. 1230  N=NOUNNMB: P=ARTNMB+ADJNMB: GOSUB 380
  146. 1240  GOSUB 300
  147. 1250  PRINT AT (26,14); LIN$
  148. 1255  LIN2$=LIN$
  149. 1260  LIN$=""
  150. 1270  N=PREPNMB:P=ARTNMB+ADJNMB+NOUNNMB+VERBNMB:GOSUB 380
  151. 1280  N=ARTNMB:P=0: GOSUB 380
  152. 1290  N=ADJNMB: P=ARTNMB: GOSUB 380
  153. 1300  N=NOUNNMB: P=ARTNMB+ADJNMB: GOSUB 380
  154. 1310  GOSUB 300
  155. 1320  PRINT AT (29,15); LIN$
  156. 1325  LIN3$=LIN$
  157. 1330  RETURN
  158. 1350  REM LPRINT STATEMENTS
  159. 2000  '          vocabulary
  160. 2010  '              articles
  161. 2020  DATA A,THE,AN,THE
  162. 2030  '              adjectives
  163. 2040  DATA HIDDEN,BITTER,MISTY,SILENT,EMPTY
  164. 2050  DATA DRY,DARK,ICY,DELICATE,QUIET
  165. 2060  DATA WHITE,COOL,DAPPLED
  166. 2070  DATA TWILIGHT,DAWN,CRIMSON,WISPY,AZURE
  167. 2080  DATA BLUE,BILLOWING,BROKEN,COLD,DAMP,FALLING
  168. 2090  DATA FROSTY,GREEN,LONG,LATE,LINGERING,LIMPID
  169. 2100  DATA LITTLE,MORNING,MUDDY,OLD,RED,ROUGH
  170. 2110  DATA STILL,SMALL,SPARKLING,GLOWING,VERMILLION
  171. 2120  DATA WANDERING,WITHERED,WILD,BLACK,YOUNG
  172. 2125  DATA AUTUMN,WINTER,SPRING,SUMMER
  173. 2130  '               nouns
  174. 2140  DATA WATERFALL,RIVER,BREEZE,MOON
  175. 2150  DATA RAIN,WIND,SEA,MORNING,SNOW,LAKE,SUNSET
  176. 2160  DATA PINE,SHADOW,LEAF,DAWN,GLITTER,FOREST
  177. 2170  DATA HILL,CLOUD,MEADOW,SUN,GLADE,BIRD,BROOK
  178. 2180  DATA BUTTERFLY,BUSH,DEW,MIST,FIELD,EVERGREEN
  179. 2190  DATA FLOWER,FIREFLY,FEATHER,GRASS,HAZE,MOUNTAIN
  180. 2200  DATA NIGHT,POND,SHADE,SNOWFLAKE
  181. 2210  DATA SILENCE,SOUND,SKY,SHAPE,SURF,THUNDER
  182. 2220  DATA VIOLET,WATER,WILDFLOWER,WAVE
  183. 2230  '                verbs
  184. 2240  DATA MOVES,DRIFTS,HAS STOPPED,STRUGGLES
  185. 2250  DATA HAS FALLEN,HAS PASSED,SLEEPS,CRIES
  186. 2260  DATA FLUTTERS, HAS RISEN, IS FALLING, IS TRICKLING
  187. 2270  DATA MURMURS,IS FLOATING
  188. 2280  '                prepositions
  189. 2290  DATA ON,IN,OF,UNDER,OVER,NEAR,end
  190.