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