SéANCE 5 - EN GROUPE

aujourd'hui, le but était d'améliorer le code au niveau des conditions pour le test collision ( dans l'onglet dédié à l'objet "pomme" ), afin de permettre tout d'abord, pour vérifier le bon fonctionnement du code, de faire apparaittre un fond rouge, uniquement lorsque le carré et l'objet "pomme" seront placés aux memes coordonnées. Avant cette scéance, notre code à ce niveau ce présentait comme ceci :

void testCollision() {
    if ( A == x && B == y ) { background(250,0,0);  }

}

Le probleme, avec le code ainsi, est que le fond n' apparaissait pas, nous avons donc essayé de ne laisser qu'une condition, pour voir, comme ceci :   if ( A == x ) { background(250,0,0);  }      ou comme cela :  if ( B == y ) { background(250,0,0);  }     Le code, ainsi présenté, fonctionnait bien, il faisait apparaitre le fond lorsque le carré arrivait aux coordonnées indiquées, le probleme était donc dans la formulation du code, nous avons essayé de le présenter ainsi :

void testCollision() {
    if ( A == x || B == y ) { background(250,0,0);  }

}

Cependant, cette fois, le fond apparait, mais pas uniquement lorsque les 2 conditions sont vérifiées, il suffisait que seule l'une des 2 soit vérifiée pour que le fond apparaisse.

Nous avons cherché une solution à ce problème et trouvé sur un site cela :


if ( (x > gauche ) && (x < droite) && (y < haut) && (y > bas) )  {  condition   }

Nous avons donc essayé de l'adapter à notre code en esperant que cela fonctionnerait, avec donc ceci :


if ( (A>=x ) && (A<=x) && ((B>=x ) && (B<=x) ) {  background(250,0,0);   }

Mais, bien sur, encore raté, et nous ne savons pas encore comment régler ce probleme.

Pour essayer de le résoudre, nous avons tout de meme essayé de mettre un bouléen afin de vérifier notre code et obtenu cela :

 void testCollision() {
boolean test= false;
    if ( A == x || B == y ) { test = true; }  // si le carré et le rond ont les memes coordonnées, le test est vrai
    
    if( test = true) {println('V');} else {println('f');} // s'il le test est vrai, afficher 'V' , sinon, afficher 'f' 

 

Notre code est ainsi présenté pour le moment, et nous n'avons toujours pas la solution en vue. 

(Publié par Mathieu)