My approach would be to have a variable on the little energy blocks that is the value of energy you need so it will appear. So if you are above 99 then the first block would appear and if you are above 199 then the second one would appear etc, this would be one event that relates to the variable on the blocks - set visible if player energy total is greater than block.var.
For half filled blocks you could use logic where if the total energy is higher than block.var and a second variable on the block which is the max limit, then you could adjust the height accordingly for how much it is above block.var, so for example 150 would be seen as between 99 and 199 and adjust the height by a number of pixels. To start with though for testing you could try opacity since you have a range of 100, so in this case the opacity of the block would be 150-99 = 51