Intégration de projet_linea dans le dépôt principal
This commit is contained in:
48
projet_linea/src/BonusMalus.java
Normal file
48
projet_linea/src/BonusMalus.java
Normal file
@@ -0,0 +1,48 @@
|
||||
import java.awt.Color;
|
||||
import java.awt.Graphics;
|
||||
|
||||
public class BonusMalus extends ObjetGraphique {
|
||||
|
||||
public boolean estBonus;
|
||||
public boolean actif = true; // Permet de le faire disparaître une fois ramassé
|
||||
public int taille = 15;
|
||||
|
||||
public BonusMalus(double startX, double startY, boolean bonus) {
|
||||
this.x = startX;
|
||||
this.y = startY;
|
||||
this.estBonus = bonus;
|
||||
}
|
||||
|
||||
@Override
|
||||
void Afficher(Graphics g) {
|
||||
if (!actif) return; // S'il a été ramassé, on ne le dessine plus
|
||||
|
||||
if (estBonus) {
|
||||
g.setColor(Color.green); // Carré jaune (Bonus)
|
||||
g.fillRect((int)x, (int)y - taille / 2, taille, taille);
|
||||
} else {
|
||||
g.setColor(Color.red); // Triangle rouge (Malus)
|
||||
int[] xPoints = {(int)x, (int)x + taille / 2, (int)x + taille};
|
||||
int[] yPoints = {(int)y + taille / 2, (int)y - taille / 2, (int)y + taille / 2};
|
||||
g.fillPolygon(xPoints, yPoints, 3);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
void Animer() {
|
||||
this.x -= 5; // Il se déplace vers la gauche à la même vitesse que la ligne
|
||||
}
|
||||
|
||||
// Vérifie si le joueur touche l'objet
|
||||
public boolean estTouche(Cercle c) {
|
||||
if (!actif) return false;
|
||||
|
||||
// Calcul de la distance entre le centre de l'objet et le centre du joueur
|
||||
double centreItemX = x + taille / 2.0;
|
||||
double centreItemY = y;
|
||||
double distance = Math.sqrt(Math.pow(centreItemX - c.x, 2) + Math.pow(centreItemY - c.y, 2));
|
||||
|
||||
// Si la distance est inférieure au rayon du joueur, c'est touché !
|
||||
return distance < (c.getRayon() + taille / 2.0);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user