If o\aa#=1
PlaySound ddd
EndIf
If o\life#<1
EntityAlpha o\entity,0
o\aa#=o\aa#+1
EndIf
EntityTexture o\box,Boom,o\aa#
If o\aa#>23
FreeEntity o\entity
Delete o
EndIf
|
Вот это сунуть внутрь условия If Pick=o\entity
И в конце выходить из цикла exit'ом, когда уже всё что хотел с бочкой сделал.
И условие click=1 вынести за пределы перебора, т.е. чтобы перебор выполнялся только при клике, а не всё время. Всё равно же бочка не взорвётся если не кликают, а время процессора экономим.
Ну так, вроде всё, относительно нормально (главное что слава богу работает)
А вообще по-хорошему нужен класс barrel, у которого был бы метод blow, в котором бы уничтожалась бочка и создавался объект класса spark.
Тогда чтобы уничтожить бочку получаем простое и удобное
barrel b;
b->blow();
На блице без ООП было бы что-то типа:
b.barrel = CreateBarrel()
BarrelBlow(b)
Где CreateBarrel - создаёт, а BarrelBlow - взрывает.
З.Ы. Перечитал исходник - =-O в рот мои ноги, вспышка от взрыва обрабатывается в том же цикле. Тогда просто так вынести условие клика не получится.