소스 검색

: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: