2016-09-22 2 views
0

J'ai besoin de faire une fonction qui affichera une image sous une autre image seulement si le feu booléen? est #trueRacket image render

voici mon code:

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

Je suis confus quant à ce qu'il faut mettre dans le reste de faire en sorte qu'aucune image est affichée

Répondre

0

Un aperçu d'une procédure qui conditionnellement moissonneuses-batteuses deux images basées sur la valeur d'un troisième argument.

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

Le if pourrait être réécrite en utilisant un « deux pattes » cond:

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

Ceci est une très bonne question, et le découvrir vous aidera à réorganiser votre cerveau d'une manière très importante .

Ce que vous devez vraiment faire est de consulter vos cas de test. Ou, si vous n'avez pas construit ce cas de test, écrivez-le. Plus précisément: écrire un cas de test qui appelle render-rocket-fire avec un RocketState où le "feu?" le champ est faux. Quel devrait être le résultat? La réponse est ce qui devrait aller dans le champ 'else'.