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);
|
||||
menuHistorique = new MenuHistorique(this);
|
||||
|
||||
// Initialisation initiale
|
||||
resetPartie(6, 20);
|
||||
|
||||
ecran.btnRetour.addActionListener(new ActionListener() {
|
||||
@Override
|
||||
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--) {
|
||||
ObjetGraphique obj = ecran.listeObjets.get(i);
|
||||
if (obj instanceof Bonus || obj instanceof Malus) {
|
||||
double dx = obj.getX() - demiCercleAvant.getX();
|
||||
double dy = obj.getY() - demiCercleAvant.getY();
|
||||
double dist = Math.sqrt(dx * dx + dy * dy);
|
||||
double itemLargeur = 20.0;
|
||||
double itemHauteur = 20.0;
|
||||
|
||||
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) {
|
||||
double newRayon = demiCercleAvant.getRayon() + 3;
|
||||
demiCercleAvant.setRayon(newRayon);
|
||||
|
||||
Reference in New Issue
Block a user