DrRacket上的键错误/错误

DrRacket上的键错误/错误,racket,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 (MOV

我正在为我的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))]))
在上下文中,my
MOVEB
是一个结构,它保持一个位置,使桶沿场景的地面水平左右移动。当我运行此函数时,它让我可以毫无问题地向右移动,但每当我向左移动时,我的桶就会消失或一直移动回起点


有人知道为什么会这样吗

我意识到这可能太晚了,不重要了,但是当你说

(- 15 (MOVEB-x W))
这就像
15-(MOVEB-xw)
;因此,如果
(MOVEB-xw)
是100,那么这将为您提供-85,这可能不是您想要的。您可能想要
((MOVEB-xw)15)