2016-09-22 145 views
0

我需要製作一個函數,只有在布爾火焰時纔會在另一個圖像下顯示圖像?是#true球拍圖像渲染

這裏是我的代碼:

(define (render-rocket-fire RocketState FIRE) 
    (cond 
    [(or (rocket-state-fire? #true)) 
    (place-image FIRE 
      (rocket-state-pos-x RocketState) 
      (+ FIRE-SKIP (rocket-state-pos-y RocketState)) 
      SCENE-WIDTH SCENE-HEIGHT)) 

    [else (

我很困惑,不知在別的讓這個沒有圖像顯示

回答

0

程序的一個輪廓有條件地聯合收割機基於第三個參數值的兩幅圖像。

(define (maybe-combine-images image1 image2 my-boolean) 
    (if myboolean 
    (under image1 image2) 
    image1))) 

if可以用「兩條腿」 cond被改寫:

(define (maybe-combine-images image1 image2 my-boolean) 
    (cond 
    [myboolean (under image1 image2)] 
    [else image1])) 
2

這是一個很好的問題,並找出它會幫助你重新安排你的大腦中一個非常重要的途徑。

你真正需要做的是諮詢你的測試用例。或者,如果你還沒有構建這個測試用例,寫下來。具體來說:編寫一個測試用例,用RocketState調用render-rocket-fire,其中「fire?」字段是錯誤的。結果應該是什麼?答案是'else'字段中應該包含的內容。