2012-04-29 67 views
0

我正在爲我的Comp-160類做一個項目,我的按鍵功能正在做一些奇怪的事情。DrRacket按鍵錯誤/錯誤

(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

我意識到,這可能是太晚啦,但是當你說

(- 15 (MOVEB-x W)) 

這就像15 - (MOVEB-x W);所以如果(MOVEB-x W)是100,那麼這給你-85,這可能不是你想要的。你可能想要(- (MOVEB-x W) 15)