collision_NR
boolean collision9() {
//si la boule rouge touche la boule noire la fonction booléenne est vraie
if (xR>=xN && xR<=xN+20 && yR>=yN && yR<=yN+20) {
return true;
}
if (xR+20>=xN && xR+20<=xN+20 && yR+20>=yN && yR+20<=yN+20) {
return true;
}
if (xR+20>=xN && xR+20<=xN+20 && yR>=yN && yR<=yN+20) {
return true;
}
if (xR>=xN && xR<=xN+20 && yR+20>=yN && yR+20<=yN+20) {
return true;
}
//sinon elle est fausse
return false;
}void collision_NR () {
//appel à la fonction booléenne
boolean collision = collision9();
//si elle est vraie
if (collision) {
//si la boule rouge est plus rapide que la boule noire
if (vitessexR > vitessexN) {
//la boule noire entre en mouvement (vitesse légèrement inférieur à celle de la blanche pour x et y)
vitessexN=(vitessexR)*0.8;
vitesseyN=(vitesseyR)*0.8;
//le boule rouge rebondie sur la boule noire
vitessexR=-1*vitessexR;
vitesseyR=-1*vitesseyR;
} else {
//si la boule noire 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=(vitessexN)*0.8;
vitesseyR=(vitesseyN)*0.8;
//le boule noire rebondie sur la boule rouge
vitessexN=-1*vitessexN;
vitesseyN=-1*vitesseyN;
}
}
}
