tir_hit code un peu complexe.
Proposition pour simplifier tir_hit
pub fn tir_hit(&mut self, tir: &Tir) {
// fonction pour savoir si le tir à toucher les deathstar
let tirs = tir.state;
let tirloc = tir.location();
if self.state == false {
// on verifie si l'état des deathstar sont en false
// si la position du tir est dans la hitbox des deathstar
if tirs == true {
if self.position.x <= tirloc.x
&& self.position.x >= tirloc.x - 185.0
&& self.position.y <= tirloc.y + 60.0
&& self.position.y >= tirloc.y - 160.0
{
self.hp = self.hp - 1; // on enleve 1 hp
self.state = true; // on passe a l'état true
}
self.hp = self.hp - 1; // on enleve 1 hp
self.state = true; // on passe a l'état true
}
+ } else {
+ self.state = false;
}
}
- if tirs == false {
- //si la position du tir et inferieur en x a la deathstar on repasse a l'état false
- self.state = false;
- }
}