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

  1. -- card: 11758 from stack: in
  2. -- bmap block id: 24509
  3. -- flags: 4000
  4. -- background id: 8367
  5. -- name: Backward 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 "The sky is clear" into line 1 of card field "A1"
  25.   play "boing"
  26.   put "No gas in car" into line 2 of card field "A1"
  27.   choose eraser tool
  28.   drag from 164,244 to 349,278
  29.   choose line tool
  30.   set the linesize to 1
  31.   drag from 164,244 to 349,278
  32.   drag from 349,278 to 344,273
  33.   drag from 349,278 to 344,283
  34.   choose browse tool
  35.   put "No gas in car" into card field "C2"
  36.   wait 1 seconds
  37.   play "harpsichord" "e"
  38.   put "Key is in ignition" into line 1 of card field "A2"
  39.   wait 1 seconds
  40.   play "harpsichord" "g"
  41.   put "Gas gauge is empty" into line 2 of card field "A2"
  42.   show card field "Pass"
  43.   wait 1 seconds
  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 164,244 to 349,278
  56.   choose line tool
  57.   set the linesize to 1
  58.   drag from 191,238 to 191,265
  59.   drag from 190,238 to 190,265
  60.   drag from 298,258 to 298,286
  61.   choose browse tool
  62.   hide card field "Comments"
  63.   hide card field "Pass"
  64. end closeCard
  65.  
  66.  
  67.  
  68.  
  69.  
  70. -- part 1 (field)
  71. -- low flags: 01
  72. -- high flags: 0001
  73. -- rect: left=0 top=76 right=207 bottom=510
  74. -- title width / last selected line: 0
  75. -- icon id / first selected line: 0 / 0
  76. -- text alignment: 0
  77. -- font id: 3
  78. -- text size: 14
  79. -- style flags: 256
  80. -- line height: 18
  81. -- part name: 
  82.  
  83.  
  84. -- part 2 (field)
  85. -- low flags: 01
  86. -- high flags: 0000
  87. -- rect: left=43 top=216 right=238 bottom=73
  88. -- title width / last selected line: 0
  89. -- icon id / first selected line: 0 / 0
  90. -- text alignment: 0
  91. -- font id: 3
  92. -- text size: 14
  93. -- style flags: 16640
  94. -- line height: 18
  95. -- part name: 
  96.  
  97.  
  98. -- part 3 (field)
  99. -- low flags: 01
  100. -- high flags: 0000
  101. -- rect: left=75 top=218 right=253 bottom=228
  102. -- title width / last selected line: 0
  103. -- icon id / first selected line: 0 / 0
  104. -- text alignment: 0
  105. -- font id: 3
  106. -- text size: 12
  107. -- style flags: 0
  108. -- line height: 16
  109. -- part name: A1
  110.  
  111.  
  112. -- part 4 (field)
  113. -- low flags: 01
  114. -- high flags: 0000
  115. -- rect: left=325 top=235 right=257 bottom=351
  116. -- title width / last selected line: 0
  117. -- icon id / first selected line: 0 / 0
  118. -- text alignment: 0
  119. -- font id: 3
  120. -- text size: 14
  121. -- style flags: 16640
  122. -- line height: 18
  123. -- part name: 
  124.  
  125.  
  126. -- part 5 (field)
  127. -- low flags: 01
  128. -- high flags: 0000
  129. -- rect: left=351 top=236 right=271 bottom=501
  130. -- title width / last selected line: 0
  131. -- icon id / first selected line: 0 / 0
  132. -- text alignment: 0
  133. -- font id: 3
  134. -- text size: 12
  135. -- style flags: 0
  136. -- line height: 16
  137. -- part name: A2
  138.  
  139.  
  140. -- part 6 (field)
  141. -- low flags: 01
  142. -- high flags: 0000
  143. -- rect: left=17 top=251 right=273 bottom=71
  144. -- title width / last selected line: 0
  145. -- icon id / first selected line: 0 / 0
  146. -- text alignment: 0
  147. -- font id: 3
  148. -- text size: 14
  149. -- style flags: 16640
  150. -- line height: 18
  151. -- part name: 
  152.  
  153.  
  154. -- part 7 (field)
  155. -- low flags: 01
  156. -- high flags: 0000
  157. -- rect: left=76 top=253 right=273 bottom=229
  158. -- title width / last selected line: 0
  159. -- icon id / first selected line: 0 / 0
  160. -- text alignment: 0
  161. -- font id: 3
  162. -- text size: 12
  163. -- style flags: 0
  164. -- line height: 16
  165. -- part name: C1
  166.  
  167.  
  168. -- part 8 (field)
  169. -- low flags: 01
  170. -- high flags: 0000
  171. -- rect: left=297 top=271 right=292 bottom=349
  172. -- title width / last selected line: 0
  173. -- icon id / first selected line: 0 / 0
  174. -- text alignment: 0
  175. -- font id: 3
  176. -- text size: 14
  177. -- style flags: 16640
  178. -- line height: 18
  179. -- part name: 
  180.  
  181.  
  182. -- part 9 (field)
  183. -- low flags: 01
  184. -- high flags: 0000
  185. -- rect: left=352 top=273 right=292 bottom=484
  186. -- title width / last selected line: 0
  187. -- icon id / first selected line: 0 / 0
  188. -- text alignment: 0
  189. -- font id: 3
  190. -- text size: 12
  191. -- style flags: 0
  192. -- line height: 16
  193. -- part name: C2
  194.  
  195.  
  196. -- part 11 (field)
  197. -- low flags: 81
  198. -- high flags: 0001
  199. -- rect: left=13 top=277 right=334 bottom=289
  200. -- title width / last selected line: 0
  201. -- icon id / first selected line: 0 / 0
  202. -- text alignment: 0
  203. -- font id: 3
  204. -- text size: 14
  205. -- style flags: 256
  206. -- line height: 18
  207. -- part name: Comments
  208.  
  209.  
  210. -- part 15 (field)
  211. -- low flags: 80
  212. -- high flags: 0000
  213. -- rect: left=367 top=212 right=233 bottom=419
  214. -- title width / last selected line: 0
  215. -- icon id / first selected line: 0 / 0
  216. -- text alignment: 0
  217. -- font id: 3
  218. -- text size: 14
  219. -- style flags: 17664
  220. -- line height: 18
  221. -- part name: Pass
  222.  
  223.  
  224. -- part contents for background part 1
  225. ----- text -----
  226. Backward Chaining
  227.  
  228. -- part contents for card part 1
  229. ----- text -----
  230. The inference engine would not be very effective at solving problems if it could only test one Rule. Other Rules that are related to the current problem can be tested by backward chaining them together. While testing each Fact in a Rule, the inference engine will try to find another Rule which has that Fact in it's Conclusion. If it succeeds, that Rule is added to the Goal Trail on the Smart Card of Rules to be tested.
  231.  
  232.  
  233. -- part contents for card part 2
  234. ----- text -----
  235. If:
  236.  
  237. -- part contents for card part 4
  238. ----- text -----
  239. If:
  240.  
  241. -- part contents for card part 6
  242. ----- text -----
  243. Then:
  244.  
  245. -- part contents for card part 8
  246. ----- text -----
  247. Then:
  248.  
  249. -- part contents for card part 11
  250. ----- text -----
  251. When the new Rule passed, the Fact being tested became true, and the first Rule then passed.
  252.  
  253. -- part contents for card part 15
  254. ----- text -----
  255. Pass