Ignoring all of the structural issues for a minute (we all have to start out somewhere, I suppose)...
Firstly, if you're still at the stage when programming that you have everything inside of the main() function, do not use any modifiers to the variable type on top of ints - you don't understand well enough what the purpose is, and you're gaining no benefits at all for doing so.
Second, you should be using >=, not > for your health checks -- right now, if your health is reduced to zero, you're still alive according to your program (until you go below).
Third, you can replace your "variable = variable - number" and "variable = variable + number" with "variable -= number" and "variable += number," respectively.
Fourth, if you've got values that are either 1 or 0 (and never anything else), use booleans. Type is 'bool', and the values can be either true or false.
Fifth, your health doesn't go down half the time because you've programmed it such that the AI shields half the time. If you want to see the results of this directly, add an output when the enemy uses a shield. If you don't want the enemy shielding half the time, change the code responsible for determining the AI's action -- maybe generate a random number between 1 and 5, and if it's 1 or 2 it'll shield.
Edit
------
Also, what Diminish said (I didn't catch that the first time around) about the assignment random_number -- you need to assign to it every iteration of your while loop.