1

我需要创建一个函数,仅当布尔触发时才会在另一个图像下显示图像?是真的

这是我的代码:

(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 (

我很困惑要放入什么以使其不显示任何图像

4

2 回答 2

2

这是一个非常好的问题,弄清楚它会帮助你以一种非常重要的方式重新安排你的大脑。

你真正需要做的是查阅你的测试用例。或者,如果您尚未构建此测试用例,请编写它。具体来说:编写一个测试用例,使用 RocketState 调用 render-rocket-fire,其中“火?” 字段为假。结果应该是什么?答案是“其他”字段中应该包含的内容。

于 2016-09-22T05:53:07.113 回答
0

根据第三个参数的值有条件地组合两个图像的过程的概要。

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

if可以使用 'two-legged'重写cond

(define (maybe-combine-images image1 image2 my-boolean)
  (cond 
   [myboolean (under image1 image2)]
   [else image1]))
于 2016-09-22T04:17:10.953 回答