Enemy Movmen Script Doesn't work

#pragma strict
var speed:int = 10;
var ball:GameObject;

function Start () {

}

function Update () {
//track the ball
if(ball.transform.position.y > transform.position.y);
{
transform.Translate(Vector3(0,speed,0) * Time.deltaTime);
}
if(ball.transform.position.y < transform.position.y);
{
transform.Translate(Vector3(0,-speed,0) * Time.deltaTime);
}
//Check Bounds
if(transform.position.y > 13)
{
transform.position.y = 13;
}
if(transform.position.y < -13)
{
transform.position.y = -13;
}
}
Unity is not giving me any errors but the enemy is not moving.
Thank everyone for help.

I’m pretty sure this code shouldn’t even compile.
you can’t do “transform.position.y = something”.
Is the script in the Assets folder?
The error is:
Cannot modify a value type return value of `UnityEngine.Transform.position’. Consider storing the value in a temporary variable