code in frame 1 layer 1


//carMove

//move the car random direction and speed



init();



function init(){

  //initialization



  //direction constants

  NORTH = 0;

  NORTHEAST = 1;

  EAST = 2;

  SOUTHEAST = 3;

  SOUTH = 4;

  SOUTHWEST = 5;

  WEST = 6;

  NORTHWEST = 7;



  //randomly position car

  car._x = Math.random() * Stage.width;

  car._y = Math.random() * Stage.height;

  car.dir = Math.random() * 8;

  car.dir = Math.floor(car.dir);

  car._rotation = car.dir * 45;

  car.speed = Math.random() * 10;

  turn(car);



  /* debugging code

  trace ("dir: " + car.dir);

  trace ("rot: " + car._rotation);

  trace ("dx: " + car.dx);

  trace ("dy: " + car.dy);

  */



  

} // end init



car.onEnterFrame = function(){

  move(car);

} // end car enterFrame



function move(thing){

  //move

  thing._x += thing.dx;

  thing._y += thing.dy;

  

  //check boundaries - wrap all directions

  if (thing._x > Stage.width){

    thing._x = 0;

  } // end if



  if (thing._x < 0){

    thing._x = Stage.width;

  } // end if



  if (thing._y > Stage.height){

    thing._y = 0;

  } // end if



  if (thing._y < 0){

    thing._y = Stage.height;

  } // end if

} // end move



function turn(thing){

  thing._rotation = thing.dir * 45;



  switch (thing.dir){

    case NORTH:

      thing.dx = 0;

      thing.dy = -1;

      break;

    case NORTHEAST:

      thing.dx = .7;

      thing.dy = -.7;

      break;

    case EAST:

      thing.dx = 1;

      thing.dy = 0;

      break;

    case SOUTHEAST:

      thing.dx = .7;

      thing.dy = .7;

      break;

    case SOUTH:

      thing.dx = 0;

      thing.dy = 1;

      break;

    case SOUTHWEST:

      thing.dx = -.7;

      thing.dy = .7;

      break;

    case WEST:

      thing.dx = -1;

      thing.dy = 0;

      break;

    case NORTHWEST:

      thing.dx = -.7;

      thing.dy = -.7;

      break;

    default:

      trace("there's a problem here...");

  } // end switch

  thing.dx *= thing.speed;

  thing.dy *= thing.speed;  

} // end turn