Explorar o código

:beetle: Corrige fin de niveau prematuree

La balle electrique pouvait frapper plusieurs fois la meme brique :
une fois avec le champ elecrique, et une fois par contact.

La brique etait donc soustraite deux fois, ce qui causait l'apparition
de l'ecran de victoire ... alors qu'il restait encore des briques !

Le correctif consiste a limiter la brique a une mort max.
DricomDragon hai 8 meses
pai
achega
618040159f
Modificáronse 1 ficheiros con 3 adicións e 1 borrados
  1. 3 1
      godot/composants/objets/brique/brique.gd

+ 3 - 1
godot/composants/objets/brique/brique.gd

@@ -17,6 +17,7 @@ const NOMBRE_DE_VIES_MAX: int = 4
 	set = set_pouvoir_type
 
 var _texture_brique: Texture2D = preload("res://composants/objets/brique/images/01.png")
+var _vivante: bool = true
 
 @onready var image: Sprite2D = $Image
 
@@ -28,7 +29,7 @@ func _ready() -> void:
 
 func frapper(nb_degats: int) -> void:
 	nombre_de_vies -= nb_degats
-	if nombre_de_vies <= 0:
+	if nombre_de_vies <= 0 and _vivante:
 		_mourir()
 
 
@@ -68,6 +69,7 @@ func _mourir() -> void:
 	queue_free()
 	_eclater()
 	_liberer_capsule()
+	_vivante = false;
 
 
 func _eclater() -> void: