Things I immediately spot are (1) you decremnent 'stunTimer' in both lines 4 and in line 5; and (2) the random time in line 5 will actually be averaging about 10 seconds.
It might be easier to just set a random time to begin with, rather than choosing a random moment. What I mean is that instead of continuously asking if a random value is zero to start the stun state, just set a random amount of time that the not stunned state is to last. Since there are two states, not stunned and stunned, the value of 'stunTimer' being positive or negative will suffice:
public void act()
{
if (--stunTimer == -5*55) stunTimer = 10*55+Greenfoot.getRandomNumber(10*55);
if (stunTimer > 0) move();
Actor tezeu = getOneIntersectingObject(Tezeu.class);
if (tezeu != null) getWorld().removeObject( stunTimer<0 ? this : tezeu);
}



