fixing switch case errors

Hi
I’m new to coding and I’m doing Walker Boys Mario Clone 2D Lab 4 tutorial and although I’m doing the exact things in the videos, I’m getting errors that i could fix.

in the enemyGumba script, everything was working well until when I added the switch ( gumbaState ) case, i start to get these errors

Assets/2D Mario Assets/Scripts/enemyGumba.js(87,13): BCE0043: Unexpected token: else.
Assets/2D Mario Assets/Scripts/enemyGumba.js(90,13): BCE0044: expecting }, found ‘case’.
Assets/2D Mario Assets/Scripts/enemyGumba.js(90,37): BCE0043: Unexpected token: :.
Assets/2D Mario Assets/Scripts/enemyGumba.js(90,38): UCE0001: ‘;’ expected. Insert a semicolon at the end.
Assets/2D Mario Assets/Scripts/enemyGumba.js(96,13): BCE0044: expecting }, found ‘case’.
Assets/2D Mario Assets/Scripts/enemyGumba.js(96,38): BCE0043: Unexpected token: :.
Assets/2D Mario Assets/Scripts/enemyGumba.js(96,39): UCE0001: ‘;’ expected. Insert a semicolon at the end.
Assets/2D Mario Assets/Scripts/enemyGumba.js(102,13): BCE0044: expecting EOF, found ‘case’.

when i identify the gumbaState, the errors reduced to the these 3:

Assets/2D Mario Assets/Scripts/enemyGumba.js(37,11): BCE0044: expecting (, found ‘Start’.
Assets/2D Mario Assets/Scripts/enemyGumba.js(37,16): UCE0001: ‘;’ expected. Insert a semicolon at the end.
Assets/2D Mario Assets/Scripts/enemyGumba.js(37,17): BCE0044: expecting EOF, found ‘(’.

here is the script

// Gumba Controller
// Walker Boys (www.walkerboyesstudio.com)
// Description: Control component enemy gumba logic, options & properties


var moveSpeed                    : float       = 20.0;
var attackMoveSpeed              : float       = 35.0;
var jumpSpeed                    : float       = 3.0;

enum GumbaState { moveLeft = 0, moveRight= 1, moveStop= 2, jumpAir= 3, enemyDie= 4, goHome= 5}
var gumbaState                   = GumbaState.moveLeft;
var attackRange                  : float       = 1.0;
var searchRange                  : float       = 3.0;
var returnHomeRange              : float       = 4.0;
var changeDirectionDistance      : float       = 1.0;
var chaseTarget                  : Transform;
var homePosition                 : Transform;
var deathForce                   : float       = 3.0;
var gizmoToggle                  : boolean     = true;
var bounceHit                    : AudioClip; 

var velocity             : Vector3     = Vector3.zero;
private var gravity              : float       = 20.0;
private var currentState;
private var aniPlay;
private var isRight              : boolean     = false;
private var myTransform          : Vector3;
private var resetMoveSpeed       : float       = 0.0;
private var distanceToHome       : float       = 0.0;
private var distanceToTarget     : float       = 0.0;
private var controller           : CharacterController;


function  Start ()
{
   myTransform = transform.position;
   resetMoveSpeed = moveSpeed;
   linkToPlayerProperties = GetComponent ( playerProperties );
   controller = GetComponent ( CharacterController );
   aniPlay = GetComponent ( aniSprite );
   

}
function  Update ()
{
   distanceToTarget = Vector3.Distance ( chaseTarget.transform.position, transform.position );
   
   if (distanceToTarget <= searchRange )
   {
      ChasePlayer ();
      if ( distanceToTarget <= attackRange)
      {
           ChasePlayer (); 
           moveSpeed = attackMoveSpeed;
      }
      else
      {
           ChasePlayer (); 
           moveSpeed = resetMoveSpeed;  
      }
   }
   else
   {
           distanceToHome = Vector3.Distance ( homePosition.position, transform.position );
           if ( distanceToHome > returnHomeRange )
           {
                GoHome ();
           }
           
   }
   if ( controller.isGrounded )
   {
       switch ( gumbaState )
       {
            case GumbaState. moveleft:
            PatrolLeft  ();
            break;
            case GumbaState. moveRight:
            PatrolRight ();
            break;
            case GumbaState. moveStop:
            if ( isRight );
                  IdelRight ();
            else
                  IdelLeft  ();
            break;
            case GumbaState. jumpAir:
            if ( isRight )
                 JumpRight ();
            else
                 JumpLeft  ();
            break;
            case GumbaState. enemyDie:
            if ( isRight )
                 DieRight  ();
            else
                 DieLeft   ();
            break;
            case GumbaState. goHome:
            GoHome      ();
            break;  
       }
   }
   velocity.y -= gravity * Time.deltaTime;
   controller.Move ( velocity * Time.deltaTime );
}

}

In addition to ‘infiniBuzz’ comment, you must initialize ‘gumbaState’ var in start function like this:

function  Start ()
{
   myTransform = transform.position;
  //new initializing here
   gumbaState = GumbaState.moveLeft;
  //new initializing here
   resetMoveSpeed = moveSpeed;
   linkToPlayerProperties = GetComponent ( playerProperties );
   controller = GetComponent ( CharacterController );
   aniPlay = GetComponent ( aniSprite );
 
 
}