class Car
{
  //attributes of a Car
  color myColor;
  float myLength;
  float mySpeed;
  boolean isOn;
  float myX;
  float myY;
  
  
  //constructor (how to make a Car)
  Car(float y)
  {
    myColor = color( random(0,255) , random(0,255) , random(0,255) );
    myLength = random(40,80);
    mySpeed = random(3,10);
    isOn = true;
    myX = random(0,800);
    myY = y;
  }
  
  
  //methods (the things a Car can do)
  void drawYourself()
  {
    fill(myColor);
    rect(myX,myY,myLength, 50);
    
    fill(100);
    ellipse(myX+10         , myY+50, 20, 20); //left wheel
    ellipse(myX+myLength-10, myY+50, 20, 20);
  }
  void move()
  {
    if( isOn )
    {
      myX = myX + mySpeed;
    }
    if( myX > 800 )
    {
      myX = 0-myLength;
    }
  }
  
  boolean mouseIsOnYou()
  {
    boolean xIsRight = (myX < mouseX) && (mouseX < myX+myLength);
    boolean yIsRight = (myY < mouseY) && (mouseY < myY+50);
    return xIsRight && yIsRight;
  }
  
  void turnOn()
  {
    isOn = true;
  }
  
  void turnKey()
  {
    isOn = !isOn;
  }
}