help with windows electric shouters code

maybe this gets you a bit closer to a solution based on your code and the state model above:

int led1Up = 2;
int led2Down = 3;
int buttonUp = 4;
int buttonDown = 6;


enum State {
  MOVING_UP = 1 ,
  MOVING_DOWN,
  STOPPED
} state ;


boolean buttonPressed( byte buttonPin ) {
  // with crude button debounce
  if ( digitalRead( buttonPin ) == LOW ) {
    delay( 500 ) ;
    return true ;
  }
  else {
    return false ;
  }
}



void setup()
{
  pinMode(buttonUp, INPUT_PULLUP);
  pinMode(led1Up, OUTPUT);
  pinMode(buttonDown, INPUT_PULLUP);
  pinMode(led2Down, OUTPUT);
  state = STOPPED ;

}


void loop()
{

  static unsigned long upButtonPressedAtMs ;
  static unsigned long downButtonPressedAtMs ;

// actions dependent on current state
  if ( state == STOPPED ) {
    digitalWrite( led1Up, false ) ;
    digitalWrite( led2Down, false ) ;
  }
  else if ( state == MOVING_UP ) {
    digitalWrite( led1Up, true ) ;
    digitalWrite( led2Down, false ) ;
  }
  else if ( state == MOVING_DOWN ) {
    digitalWrite( led1Up, false ) ;
    digitalWrite( led2Down, true ) ;
  }



// check if a state transition necessary

  if ( state == MOVING_UP && millis() - upButtonPressedAtMs > 5000 ) {
    state = STOPPED ;
  }

  if ( state == MOVING_UP &&  buttonPressed( buttonUp ) ) {
    state = STOPPED ;
  }

  if ( state == MOVING_UP &&  buttonPressed( buttonDown ) ) {
    downButtonPressedAtMs = millis() ;
    state = MOVING_DOWN ;
  }


  if ( state == MOVING_DOWN && millis() - downButtonPressedAtMs > 5000 ) {
    state = STOPPED ;
  }

  if ( state == MOVING_DOWN &&  buttonPressed( buttonDown ) ) {
    state = STOPPED ;
  }

  if ( state == MOVING_DOWN &&  buttonPressed( buttonUp ) ) {
    upButtonPressedAtMs = millis() ;
    state = MOVING_UP ;
  }


  if ( state == STOPPED && buttonPressed( buttonUp ) ) {
    upButtonPressedAtMs = millis() ;
    state = MOVING_UP ;
  }

   if ( state == STOPPED && buttonPressed( buttonDown ) ) {
    downButtonPressedAtMs = millis() ;
    state = MOVING_DOWN ;
  }

}