0
我正在用Jess語言製作俄羅斯方塊遊戲,並且我已經使這個算法旋轉了T片。俄羅斯方塊旋轉T片Jess
(defrule rotateTPiece
?g<-(piece (id 4) (x1 ?x1) (y1 ?y1)
(x2 ?x2) (y2 ?y2)
(x3 ?x3) (y3 ?y3)
(x4 ?x4) (y4 ?y4))
=>
(bind ?lowerx (min ?x1 ?x2 ?x3 ?x4))
(bind ?lowery (min ?y1 ?y2 ?y3 ?y4))
(modify ?g
(x1 (- ?x1 ?lowerx)) (y1 (- ?y1 ?lowery))
(x2 (- ?x2 ?lowerx)) (y2 (- ?y2 ?lowery))
(x3 (- ?x3 ?lowerx)) (y3 (- ?y3 ?lowery))
(x4 (- ?x4 ?lowerx)) (y4 (- ?y4 ?lowery)))
(modify ?g
(x1 ?y1) (y1 (- 1 (- ?x1 1)))
(x2 ?y2) (y2 (- 1 (- ?x2 1)))
(x3 ?y3) (y3 (- 1 (- ?x3 1)))
(x4 ?y4) (y4 (- 1 (- ?x4 1))))
(modify ?g
(x1 (+ ?x1 ?lowerx)) (y1 (+ ?y1 ?lowery))
(x2 (+ ?x2 ?lowerx)) (y2 (+ ?y2 ?lowery))
(x3 (+ ?x3 ?lowerx)) (y3 (+ ?y3 ?lowery))
(x4 (+ ?x4 ?lowerx)) (y4 (+ ?y4 ?lowery)))
(focus VISUAL))
在第一修改我翻譯件原點,然後我修改它,使旋轉,然後我把它翻譯成inicial位置。我不知道爲什麼,但這不起作用。