collision_VR
boolean collision___() {
//si la boule rouge touche la boule verte la fonction booléenne est vraie
if (xR>=xV && xR<=xV+20 && yR>=yV && yR<=yV+20) {
return true;
}
if (xR+20>=xV && xR+20<=xV+20 && yR+20>=yV && yR+20<=yV+20) {
return true;
}
if (xR+20>=xV && xR+20<=xV+20 && yR>=yV && yR<=yV+20) {
return true;
}
if (xR>=xV && xR<=xV+20 && yR+20>=yV && yR+20<=yV+20) {
return true;
}
//sinon elle est fausse
return false;
}
void collision_VR () {
//appel à la fonction booléenne
boolean collision = collision___();
//si elle est vraie
if (collision) {
//si la boule rouge est plus rapide que la boule verte
if (vitessexR > vitessexV) {
//la boule verte entre en mouvement (vitesse légèrement inférieur à celle de la blanche pour x et y)
vitessexV=(vitessexR)*0.8;
vitesseyV=(vitesseyR)*0.8;
//le boule rouge rebondie sur la boule verte
vitessexR=-1*vitessexR;
vitesseyR=-1*vitesseyR;
} else {
//si la boule verte est plus rapide que la boule rouge
//la boule rouge entre en mouvement (vitesse légèrement inférieur à celle de la blanche pour x et y)
vitessexR=(vitessexV)*0.8;
vitesseyR=(vitesseyV)*0.8;
//le boule verte rebondie sur la boule rouge
vitessexV=-1*vitessexV;
vitesseyV=-1*vitesseyV;
}
}
}
