home *** CD-ROM | disk | FTP | other *** search
/ Carousel / CAROUSEL.cdr / mactosh / hc / hyperx11.sit / HyperX / card_13170.txt < prev    next >
Text File  |  1988-02-25  |  5KB  |  237 lines

  1. -- card: 13170 from stack: in
  2. -- bmap block id: 23687
  3. -- flags: 4000
  4. -- background id: 8367
  5. -- name: Forward Chaining
  6. ----- HyperTalk script -----
  7. on openCard
  8.   global cardWait
  9.   put 0 into cardWait
  10. end openCard
  11.  
  12. on idle
  13.   global cardWait
  14.   if cardWait=13
  15.   then exit idle
  16.   wait 1 seconds
  17.   put cardWait+1 into cardWait
  18.   if cardWait=12
  19.   then send cardStuff to this card
  20. end idle
  21.  
  22. on cardStuff
  23.   play "harpsichord" "c"
  24.   put "Key is in ignition" into line 1 of card field "A2"
  25.   wait 1 seconds
  26.   play "harpsichord" "e"
  27.   put "Gas gauge is empty" into line 2 of card field "A2"
  28.   wait 1 seconds
  29.   play "harpsichord" "g"
  30.   put "No gas in car" into card field "C2"
  31.   play "boing"
  32.   choose eraser tool
  33.   drag from 155,239 to 341,243
  34.   choose line tool
  35.   set the linesize to 1
  36.   drag from 155,239 to 341,243
  37.   drag from 341,243 to 336,238
  38.   drag from 341,243 to 336,248
  39.   choose browse tool
  40.   play "harpsichord" "c"
  41.   put "The sky is clear" into line 1 of card field "A1"
  42.   play "harpsichord" "g"
  43.   put "No gas in car" into line 2 of card field "A1"
  44.   play "harpsichord" "c5"
  45.   put "Take a walk" into card field "C1"
  46.   show card field "Comments"
  47. end cardStuff
  48.  
  49. on closeCard
  50.   put empty into card field "A1"
  51.   put empty into card field "C1"
  52.   put empty into card field "A2"
  53.   put empty into card field "C2"
  54.   choose eraser tool
  55.   drag from 155,239 to 341,243
  56.   choose line tool
  57.   set the linesize to 2
  58.   drag from 214,231 to 214,249
  59.   set the linesize to 1
  60.   drag from 290,234 to 290,252
  61.   choose browse tool
  62.   hide card field "Comments"
  63. end closeCard
  64.  
  65.  
  66.  
  67.  
  68.  
  69. -- part 1 (field)
  70. -- low flags: 01
  71. -- high flags: 0001
  72. -- rect: left=24 top=76 right=184 bottom=490
  73. -- title width / last selected line: 0
  74. -- icon id / first selected line: 0 / 0
  75. -- text alignment: 0
  76. -- font id: 3
  77. -- text size: 14
  78. -- style flags: 256
  79. -- line height: 18
  80. -- part name: 
  81.  
  82.  
  83. -- part 2 (field)
  84. -- low flags: 01
  85. -- high flags: 0000
  86. -- rect: left=39 top=190 right=214 bottom=64
  87. -- title width / last selected line: 0
  88. -- icon id / first selected line: 0 / 0
  89. -- text alignment: 0
  90. -- font id: 3
  91. -- text size: 14
  92. -- style flags: 16640
  93. -- line height: 18
  94. -- part name: 
  95.  
  96.  
  97. -- part 3 (field)
  98. -- low flags: 01
  99. -- high flags: 0000
  100. -- rect: left=11 top=225 right=247 bottom=63
  101. -- title width / last selected line: 0
  102. -- icon id / first selected line: 0 / 0
  103. -- text alignment: 0
  104. -- font id: 3
  105. -- text size: 14
  106. -- style flags: 16640
  107. -- line height: 18
  108. -- part name: 
  109.  
  110.  
  111. -- part 4 (field)
  112. -- low flags: 01
  113. -- high flags: 0000
  114. -- rect: left=65 top=192 right=227 bottom=214
  115. -- title width / last selected line: 0
  116. -- icon id / first selected line: 0 / 0
  117. -- text alignment: 0
  118. -- font id: 3
  119. -- text size: 12
  120. -- style flags: 0
  121. -- line height: 16
  122. -- part name: A2
  123.  
  124.  
  125. -- part 5 (field)
  126. -- low flags: 01
  127. -- high flags: 0000
  128. -- rect: left=64 top=228 right=247 bottom=213
  129. -- title width / last selected line: 0
  130. -- icon id / first selected line: 0 / 0
  131. -- text alignment: 0
  132. -- font id: 3
  133. -- text size: 12
  134. -- style flags: 0
  135. -- line height: 16
  136. -- part name: C2
  137.  
  138.  
  139. -- part 6 (field)
  140. -- low flags: 01
  141. -- high flags: 0000
  142. -- rect: left=320 top=216 right=237 bottom=344
  143. -- title width / last selected line: 0
  144. -- icon id / first selected line: 0 / 0
  145. -- text alignment: 0
  146. -- font id: 3
  147. -- text size: 14
  148. -- style flags: 16640
  149. -- line height: 18
  150. -- part name: 
  151.  
  152.  
  153. -- part 7 (field)
  154. -- low flags: 01
  155. -- high flags: 0000
  156. -- rect: left=292 top=250 right=272 bottom=344
  157. -- title width / last selected line: 0
  158. -- icon id / first selected line: 0 / 0
  159. -- text alignment: 0
  160. -- font id: 3
  161. -- text size: 14
  162. -- style flags: 16640
  163. -- line height: 18
  164. -- part name: 
  165.  
  166.  
  167. -- part 8 (field)
  168. -- low flags: 01
  169. -- high flags: 0000
  170. -- rect: left=344 top=217 right=252 bottom=493
  171. -- title width / last selected line: 0
  172. -- icon id / first selected line: 0 / 0
  173. -- text alignment: 0
  174. -- font id: 3
  175. -- text size: 12
  176. -- style flags: 0
  177. -- line height: 16
  178. -- part name: A1
  179.  
  180.  
  181. -- part 9 (field)
  182. -- low flags: 01
  183. -- high flags: 0000
  184. -- rect: left=344 top=252 right=271 bottom=493
  185. -- title width / last selected line: 0
  186. -- icon id / first selected line: 0 / 0
  187. -- text alignment: 0
  188. -- font id: 3
  189. -- text size: 12
  190. -- style flags: 0
  191. -- line height: 16
  192. -- part name: C1
  193.  
  194.  
  195. -- part 11 (field)
  196. -- low flags: 81
  197. -- high flags: 0001
  198. -- rect: left=10 top=279 right=336 bottom=381
  199. -- title width / last selected line: 0
  200. -- icon id / first selected line: 0 / 0
  201. -- text alignment: 0
  202. -- font id: 3
  203. -- text size: 14
  204. -- style flags: 256
  205. -- line height: 18
  206. -- part name: Comments
  207.  
  208.  
  209. -- part contents for background part 1
  210. ----- text -----
  211. Forward Chaining
  212.  
  213. -- part contents for card part 1
  214. ----- text -----
  215. The inference engine in HyperX also uses one other strategy to find Rules to test, called forward chaining. When a Conclusion is reached, HyperX will look the other way for an untested Rule with that Conclusion in it's list of Assertions and add it to the Goal Trail of Rules to be tested.
  216.  
  217.  
  218. -- part contents for card part 2
  219. ----- text -----
  220. If:
  221.  
  222. -- part contents for card part 3
  223. ----- text -----
  224. Then:
  225.  
  226. -- part contents for card part 6
  227. ----- text -----
  228. If:
  229.  
  230. -- part contents for card part 7
  231. ----- text -----
  232. Then:
  233.  
  234. -- part contents for card part 11
  235. ----- text -----
  236. The same Conclusion was reached as in the backward chaining example, but the Rules were tested in the opposite order.
  237.