DrRacket On-Key错误/错误

时间:2012-04-29 17:52:40

标签: racket

我正在为我的Comp-160课做一个项目,而我的on-key功能正在做一些奇怪的事情。

(define (KEY-PRESS W key)
(cond 
[(key=? key "left") (make-MOVEB 
                     (- 15 (MOVEB-x W))
                     (MOVEB-y W))]

[(key=? key "right") (make-MOVEB
                      (+ 15 (MOVEB-x W))
                      (MOVEB-y W))]))

对于上下文,我的MOVEB是一个结构,它保存一个桶的位置,使其沿着场景的地平面左右移动。当我运行这个功能时,让我向前移动没有任何问题,但每当我离开时,我的水桶消失或一直移动到起点。

有谁知道为什么会这样?

1 个答案:

答案 0 :(得分:1)

我意识到这可能为时已晚,但是当你说

(- 15 (MOVEB-x W))

那就像15 - (MOVEB-x W);所以如果(MOVEB-x W)是100,那么这会给你-85,这可能不是你想要的。您可能想要(- (MOVEB-x W) 15)