That would work, but you would probably either need a new loop to use when fighting, or have a flag set when it is time to fight.
I have had problems using rnd() with only 2 possible numbers myself. It always seems to not quite be random. So, what I do, is choose a number (100 usuaif lly but you could do 60 if you want a number that can be divided by more different numbers). Then I can check the number to see if it is below 50 or whatever number you choose. Be sure to use randomize at the beginning too.
This will work for simple random moves, but you will probably want the behavior to change as norris gets more and more hurt. An adaptation would be this:
rem just for instance, you will want to tailor the equation for how
move=rnd((100-(totalhealth-currenthealth))*2)
if move<=50
punch
else
block
endif
While this doesn't change how it works, it will change the odds of getting the results based off of what norris's current health is. You will definitely want to fine tune the equation to reflect how you do your health (if you just do one point for each time he can be hit that is different then if you want a lot of health and the hero's attack power is subtracted from that).
Ever notice how in Microsoft word, the word "microsoft" is auto corrected to be "Microsoft" but "macintosh" just gets the dumb red underline?