reglages beug de colision des bonus et malus
This commit is contained in:
@@ -60,9 +60,6 @@ public class Jeu implements KeyListener, ActionListener {
|
|||||||
menuLeaderboard = new MenuLeaderboard(this);
|
menuLeaderboard = new MenuLeaderboard(this);
|
||||||
menuHistorique = new MenuHistorique(this);
|
menuHistorique = new MenuHistorique(this);
|
||||||
|
|
||||||
// Initialisation initiale
|
|
||||||
resetPartie(6, 20);
|
|
||||||
|
|
||||||
ecran.btnRetour.addActionListener(new ActionListener() {
|
ecran.btnRetour.addActionListener(new ActionListener() {
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
@@ -217,11 +214,22 @@ public class Jeu implements KeyListener, ActionListener {
|
|||||||
for (int i = ecran.listeObjets.size() - 1; i >= 0; i--) {
|
for (int i = ecran.listeObjets.size() - 1; i >= 0; i--) {
|
||||||
ObjetGraphique obj = ecran.listeObjets.get(i);
|
ObjetGraphique obj = ecran.listeObjets.get(i);
|
||||||
if (obj instanceof Bonus || obj instanceof Malus) {
|
if (obj instanceof Bonus || obj instanceof Malus) {
|
||||||
double dx = obj.getX() - demiCercleAvant.getX();
|
double itemLargeur = 20.0;
|
||||||
double dy = obj.getY() - demiCercleAvant.getY();
|
double itemHauteur = 20.0;
|
||||||
double dist = Math.sqrt(dx * dx + dy * dy);
|
|
||||||
|
|
||||||
if (dist < demiCercleAvant.getRayon()) {
|
double cercleX = demiCercleAvant.getX();
|
||||||
|
double cercleY = demiCercleAvant.getY();
|
||||||
|
double cercleRayon = demiCercleAvant.getRayon();
|
||||||
|
|
||||||
|
|
||||||
|
double pointPlusProcheX = Math.max(obj.getX(), Math.min(cercleX, obj.getX() + itemLargeur));
|
||||||
|
double pointPlusProcheY = Math.max(obj.getY(), Math.min(cercleY, obj.getY() + itemHauteur));
|
||||||
|
|
||||||
|
double distanceX = cercleX - pointPlusProcheX;
|
||||||
|
double distanceY = cercleY - pointPlusProcheY;
|
||||||
|
double distanceAuCarre = (distanceX * distanceX) + (distanceY * distanceY);
|
||||||
|
|
||||||
|
if (distanceAuCarre < (cercleRayon * cercleRayon)) {
|
||||||
if (obj instanceof Bonus) {
|
if (obj instanceof Bonus) {
|
||||||
double newRayon = demiCercleAvant.getRayon() + 3;
|
double newRayon = demiCercleAvant.getRayon() + 3;
|
||||||
demiCercleAvant.setRayon(newRayon);
|
demiCercleAvant.setRayon(newRayon);
|
||||||
|
|||||||
Reference in New Issue
Block a user