浏览代码

: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 8 月之前
父节点
当前提交
618040159f
共有 1 个文件被更改,包括 3 次插入1 次删除
  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: