Action script 2.0 problemas con random e if

Hola buenas... sigo con mi empeño de hacer un mini metalslug en flash.

Ahora tengo problemas con un random.

Se supone que hago lo siguiente:

rndo = 1+random(100);
            trace(rndo);
            if (1<=rndo<50) {
               if (this._x-_root.marco._x>=0) {
                  this._x -= speed;
               } else if (this._x-_root.marco._x<0) {
                  this._x += speed;
               }
            }  else if (50<=rndo<=100) {
               if (this._y-_root.marco._y>=0) {
                  this._y -= speed/2;
               } else if (this._y-_root.marco._y<0) {
                  this._y += speed/2;
               }


Todo esto dentro de onClipEvent (enterFrame)

Bien, por lo que sea, el trace me muestra bien los valores, pero solo se ejecuta la accion del primer if, suda del else aunque rndo sea mayor que 50, no se que puede ser, seguro que es alguna gilipollez.

Añadir que estoy usando el flash portable 8, AS2

Gracias!
No se como será en AS, pero en C yo haría así los condicionales:

if((rndo >= 1) && (rndo < 50)) {
    if (this._x-_root.marco._x>=0) {
        this._x -= speed;   
    } else if (this._x-_root.marco._x<0) {                  
        this._x += speed;               
    }            
}  else if ((rndo >= 50) && (rndo <= 100)) {
    if (this._y-_root.marco._y>=0) {                  
        this._y -= speed/2;               
    } else if (this._y-_root.marco._y<0) {                  
        this._y += speed/2;               
}


Un saludo.
Gracias! Voy a probar y ahora comento!

EDITO: Cierto es, en AS y en C se tienen que poner asi como has dicho, de hecho lineas atras ponia otras condiciones (las de contorno de pantalla por ejemplo) como has dicho, supongo que al escribir rapido no me he dado cuenta y he puesto directamente a pelo el algorismo que escribi en la hoja jajajaja

Muchisimas gracias!
2 respuestas