2014-04-05 64 views
1

我怎樣才能減少我所有的事實(點數)?修改多個事實

我這樣做是這樣的:

(defrule decrementY 
     ?pto<-(point (y ?py))  
     (test (< ?py 3)) 
     => 
     (modify ?pto (y (+ 1 ?py)))) 

回答

1

基本正確,但無環爲宜。

(defrule decrementY 
    (declare (no-loop TRUE)) 
    ?pto<-(point (y ?py &: (< ?py 3)))  
=> 
    (modify ?pto (y (+ 1 ?py)))) 

如果你真的是* * crement,使用

(modify ?pto (y (- ?py 1))))