Do you have a particular order you'd like the blocks to be added or removed?
One brute force way would be to add all the square in the editor and give them an instance variable that you set to the value. Then
Global number health= 100
Every tick
--- square: make invisible
Square: var <= health
--- square: make visible
You could also place all the blocks with events.
For "x" from 0 to 9
For "y" from 0 to 4
--- create square at ( 100+16*loopindex("x"), 150+16*loopindex("y") )
--- square: set var to loopindex("y")*10+loopindex("x")+1
Where 16 is the size of the squares and 100 and 150 are the top left corner coordinates.
The way you set "var" controls the order they appear. Above it adds then a row at a time.
To make it ordered like your pic you could try this to set var.
For each square ordered by 1000*(X+y)+y descending
--- set var to loopindex